ok
Direktori : /home2/selectio/public_html/assets/js/ |
Current File : //home2/selectio/public_html/assets/js/script-2.1.js |
//update token $("form").submit(function () { $("input[name='" + mds_config.csfr_token_name + "']").val($.cookie(mds_config.csfr_cookie_name)); }); //hide left side of the menu if there is image var menu_elements = document.getElementsByClassName("mega-menu-content"); for (var i = 0; i < menu_elements.length; i++) { var id = menu_elements[i].id; if (document.getElementById(id).getElementsByClassName("col-category-images")[0]) { var content = document.getElementById(id).getElementsByClassName("col-category-images")[0].innerHTML; if (content.trim() == "") { document.getElementById(id).classList.add("mega-menu-content-no-image"); } } } $(document).ready(function () { //main slider $('#main-slider').on('init', function (e, slick) { var $firstAnimatingElements = $('#main-slider .item:first-child').find('[data-animation]'); doAnimations($firstAnimatingElements); }); $('#main-slider').on('beforeChange', function (e, slick, currentSlide, nextSlide) { var $animatingElements = $('#main-slider .item[data-slick-index="' + nextSlide + '"]').find('[data-animation]'); doAnimations($animatingElements); }); $('#main-slider').slick({ autoplay: true, autoplaySpeed: 9000, slidesToShow: 1, slidesToScroll: 1, infinite: true, speed: 500, fade: (mds_config.slider_fade_effect == 1) ? true : false, swipeToSlide: true, rtl: mds_config.rtl, cssEase: 'linear', prevArrow: $('#main-slider-nav .prev'), nextArrow: $('#main-slider-nav .next'), }); //main slider $('#main-mobile-slider').on('init', function (e, slick) { var $firstAnimatingElements = $('#main-mobile-slider .item:first-child').find('[data-animation]'); doAnimations($firstAnimatingElements); }); $('#main-mobile-slider').on('beforeChange', function (e, slick, currentSlide, nextSlide) { var $animatingElements = $('#main-mobile-slider .item[data-slick-index="' + nextSlide + '"]').find('[data-animation]'); doAnimations($animatingElements); }); $('#main-mobile-slider').slick({ autoplay: true, autoplaySpeed: 9000, slidesToShow: 1, slidesToScroll: 1, infinite: true, speed: 500, fade: (mds_config.slider_fade_effect == 1) ? true : false, swipeToSlide: true, rtl: mds_config.rtl, cssEase: 'linear', prevArrow: $('#main-mobile-slider-nav .prev'), nextArrow: $('#main-mobile-slider-nav .next') }); function doAnimations(elements) { var animationEndEvents = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'; elements.each(function () { var $this = $(this); var $animationDelay = $this.data('delay'); var $animationType = 'animated ' + $this.data('animation'); $this.css({ 'animation-delay': $animationDelay, '-webkit-animation-delay': $animationDelay }); $this.addClass($animationType).one(animationEndEvents, function () { $this.removeClass($animationType); }); }); } if ($('#slider_special_offers').length != 0) { $('#slider_special_offers').slick({ autoplay: false, autoplaySpeed: 4900, infinite: true, speed: 200, swipeToSlide: true, rtl: mds_config.rtl, cssEase: 'linear', lazyLoad: 'progressive', prevArrow: $('#slider_special_offers_nav .prev'), nextArrow: $('#slider_special_offers_nav .next'), slidesToShow: 5, slidesToScroll: 5, responsive: [ { breakpoint: 992, settings: { slidesToShow: 4, slidesToScroll: 4 } }, { breakpoint: 768, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 576, settings: { slidesToShow: 2, slidesToScroll: 2 } } ] }); } $('#product_slider').slick({ slidesToShow: 1, slidesToScroll: 1, speed: 300, arrows: true, fade: true, infinite: false, swipeToSlide: true, cssEase: 'linear', lazyLoad: 'progressive', prevArrow: $('#product-slider-nav .prev'), nextArrow: $('#product-slider-nav .next'), asNavFor: '#product_thumbnails_slider' }); $('#product_thumbnails_slider').slick({ slidesToShow: 7, slidesToScroll: 1, speed: 300, focusOnSelect: true, arrows: false, infinite: false, vertical: true, centerMode: false, arrows: true, cssEase: 'linear', lazyLoad: 'progressive', prevArrow: $('#product-thumbnails-slider-nav .prev'), nextArrow: $('#product-thumbnails-slider-nav .next'), asNavFor: '#product_slider' }); $(document).on('click', '#product_thumbnails_slider .slick-slide', function () { var index = $(this).attr("data-slick-index"); $('#product_slider').slick('slickGoTo', parseInt(index)); }); $(document).ready(function () { baguetteBox.run('.product-slider', { animation: mds_config.rtl == true ? 'fadeIn' : 'slideIn' }); }); $(document).ajaxStop(function () { baguetteBox.run('.product-slider', { animation: mds_config.rtl == true ? 'fadeIn' : 'slideIn' }); }); $('#blog-slider').slick({ autoplay: false, autoplaySpeed: 4900, infinite: true, speed: 200, swipeToSlide: true, rtl: mds_config.rtl, cssEase: 'linear', prevArrow: $('#blog-slider-nav .prev'), nextArrow: $('#blog-slider-nav .next'), slidesToShow: 3, slidesToScroll: 3, responsive: [ { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 2 } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); //rate product $(document).on('click', '.rating-stars .label-star', function () { $('#user_rating').val($(this).attr('data-star')); }); //mobile memu $(document).on('click', '.btn-open-mobile-nav', function () { if ($("#navMobile").hasClass('nav-mobile-open')) { $("#navMobile").removeClass('nav-mobile-open'); $('#overlay_bg').hide(); } else { $("#navMobile").addClass('nav-mobile-open'); $('#overlay_bg').show(); } }); $(document).on('click', '#overlay_bg', function () { $("#navMobile").removeClass('nav-mobile-open'); $('#overlay_bg').hide(); }); //close menu $(document).on('click', '.close-menu-click', function () { $("#navMobile").removeClass('nav-mobile-open'); $('#overlay_bg').hide(); }); }); //mobile menu var obj_mobile_nav = { id: "", name: "", parent_id: "", parent_name: "", back_button: 1 }; $(document).on('click', '#navbar_mobile_categories li a', function () { obj_mobile_nav.id = $(this).attr('data-id'); obj_mobile_nav.name = ($(this).text() != "") ? $(this).text() : ''; obj_mobile_nav.parent_id = ($(this).attr('data-parent-id') != null) ? $(this).attr('data-parent-id') : 0; obj_mobile_nav.back_button = 1; mobile_menu(); }); $(document).on('click', '#navbar_mobile_back_button a', function () { obj_mobile_nav.id = $(this).attr('data-id'); obj_mobile_nav.name = ($(this).attr('data-category-name') != null) ? $(this).attr('data-category-name') : ''; obj_mobile_nav.parent_id = ($(this).attr('data-parent-id') != null) ? $(this).attr('data-parent-id') : 0; if (obj_mobile_nav.id == 0) { obj_mobile_nav.back_button = 0; } mobile_menu(); }); function mobile_menu() { var categories = $('.mega-menu li a[data-parent-id="' + obj_mobile_nav.id + '"]'); if (categories.length > 0) { if (obj_mobile_nav.back_button == 1) { $("#navbar_mobile_links").hide(); } else { $("#navbar_mobile_links").show(); $("#navbar_mobile_back_button").empty(); } $("#navbar_mobile_categories").empty(); $("#navbar_mobile_back_button").empty(); if (obj_mobile_nav.back_button == 1) { if (obj_mobile_nav.parent_id == 0) { document.getElementById("navbar_mobile_back_button").innerHTML = '<a href="javascript:void(0)" class="nav-link" data-id="0"><strong><i class="icon-angle-left"></i>' + obj_mobile_nav.name + '</strong></a>'; } else { var item_parent_name = $('.mega-menu li a[data-id="' + obj_mobile_nav.parent_id + '"]').text(); document.getElementById("navbar_mobile_back_button").innerHTML = '<a href="javascript:void(0)" class="nav-link" data-id="' + obj_mobile_nav.parent_id + '" data-category-name="' + item_parent_name + '"><strong><i class="icon-angle-left"></i>' + obj_mobile_nav.name + '</strong></a>'; } var item_all_link = $('.mega-menu li a[data-id="' + obj_mobile_nav.id + '"]').attr("href"); document.getElementById("navbar_mobile_categories").innerHTML = '<li class="nav-item"><a href="' + item_all_link + '" class="nav-link">' + mds_config.txt_all + '</a></li>'; } $('.mega-menu li a[data-parent-id="' + obj_mobile_nav.id + '"]').each(function () { var item_id = $(this).attr("data-id"); var item_parent_id = obj_mobile_nav.id; var item_link = $(this).attr("href"); var item_text = $(this).text(); var item_has_sb = $(this).attr("data-has-sb"); var has_sub = false; var sub_id = parseInt($('.navbar-nav a[data-parent-id="' + item_id + '"]').attr('data-id')); if (!isNaN(sub_id) && sub_id > 0) { has_sub = true; } if (item_has_sb == 1 && has_sub == true) { $("#navbar_mobile_categories").append('<li class="nav-item"><a href="javascript:void(0)" class="nav-link" data-id="' + item_id + '" data-parent-id="' + item_parent_id + '">' + item_text + '<i class="icon-arrow-right"></i></a></li>'); } else { $("#navbar_mobile_categories").append('<li class="nav-item"><a href="' + item_link + '" class="nav-link">' + item_text + '</a></li>'); } }); $(".nav-mobile-links").addClass('slide-in-150s'); setTimeout(function () { $(".nav-mobile-links").removeClass('slide-in-150s'); }, 150); } } //search $(document).on('click', '.mobile-search .search-icon', function () { if ($(".mobile-search-form").hasClass("display-block")) { $(".mobile-search-form").removeClass("display-block"); $(".mobile-search .search-icon i").removeClass("icon-close"); $(".mobile-search .search-icon i").addClass("icon-search") } else { $(".mobile-search-form").addClass("display-block"); $(".mobile-search .search-icon i").removeClass("icon-search"); $(".mobile-search .search-icon i").addClass("icon-close") } }); //custom scrollbar $(function () { $('.filter-custom-scrollbar').overlayScrollbars({}); $('.search-results-product').overlayScrollbars({}); $('.search-results-location').overlayScrollbars({}); $('.search-categories').overlayScrollbars({}); $('.custom-scrollbar').overlayScrollbars({}); $('.messages-sidebar').overlayScrollbars({}); if ($('#message-custom-scrollbar').length > 0) { var instance_message_scrollbar = OverlayScrollbars(document.getElementById('message-custom-scrollbar'), {}); instance_message_scrollbar.scroll({y: "100%"}, 0); } }); /*mega menu*/ $(".mega-menu .nav-item").hover(function () { var menu_id = $(this).attr('data-category-id'); $("#mega_menu_content_" + menu_id).show(); $(".large-menu-item").removeClass('active'); $(".large-menu-item-first").addClass('active'); $(".large-menu-content-first").addClass('active'); //$("#menu-overlay").show(); }, function () { var menu_id = $(this).attr('data-category-id'); $("#mega_menu_content_" + menu_id).hide(); //$("#menu-overlay").hide(); }); $(".mega-menu .dropdown-menu").hover(function () { $(this).show(); }, function () { }); $(".large-menu-item").hover(function () { var menu_id = $(this).attr('data-subcategory-id'); $(".large-menu-item").removeClass('active'); $(this).addClass('active'); $(".large-menu-content").removeClass('active'); $("#large_menu_content_" + menu_id).addClass('active'); }, function () { }); //scrollup $(window).scroll(function () { if ($(this).scrollTop() > 100) { $(".scrollup").fadeIn() } else { $(".scrollup").fadeOut() } }); $(".scrollup").click(function () { $("html, body").animate({scrollTop: 0}, 700); return false }); $(document).on('click', '.quantity-select-product .dropdown-menu .dropdown-item', function () { $(".quantity-select-product .btn span").text($(this).text()); $("input[name='product_quantity']").val($(this).text()); }); //show phone number $(document).on('click', '#show_phone_number', function () { $(this).hide(); $("#phone_number").show(); }); $(document).ready(function () { $(".select2").select2({ placeholder: $(this).attr('data-placeholder'), height: 42, dir: mds_config.rtl == true ? "rtl" : "ltr", "language": { "noResults": function () { return mds_config.txt_no_results_found; } }, }); }); /* *------------------------------------------------------------------------------------------ * AUTH FUNCTIONS *------------------------------------------------------------------------------------------ */ //login $(document).ready(function () { $("#form_login").submit(function (event) { var form = $(this); if (form[0].checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } else { event.preventDefault(); var inputs = form.find("input, select, button, textarea"); var serializedData = form.serializeArray(); serializedData.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); serializedData.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $.ajax({ url: mds_config.base_url + "auth_controller/login_post", type: "post", data: serializedData, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { location.reload(); } else if (obj.result == 0) { document.getElementById("result-login").innerHTML = obj.error_message; } } }); } form[0].classList.add('was-validated'); }); }); //send activation email function send_activation_email(id, token) { $('#result-login').empty(); $('.spinner-activation-login').show(); var data = { 'id': id, 'token': token, 'type': 'login', "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $('#submit_review').prop("disabled", true); $.ajax({ type: "POST", url: mds_config.base_url + "auth_controller/send_activation_email_post", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { $('.spinner-activation-login').hide(); document.getElementById("result-login").innerHTML = obj.success_message; } else { location.reload(); } } }); } //send activation email register function send_activation_email_register(id, token) { $('#result-register').empty(); $('.spinner-activation-register').show(); var data = { 'id': id, 'token': token, 'type': 'register', 'sys_lang_id': mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $('#submit_review').prop("disabled", true); $.ajax({ type: "POST", url: mds_config.base_url + "auth_controller/send_activation_email_post", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { $('.spinner-activation-register').hide(); document.getElementById("result-register").innerHTML = obj.success_message; } else { location.reload(); } } }); } /* *------------------------------------------------------------------------------------------ * VARIATION FUNCTIONS *------------------------------------------------------------------------------------------ */ function select_product_variation_option(variation_id, variation_type, selected_option_id) { var data = { 'variation_id': variation_id, 'selected_option_id': selected_option_id, 'sys_lang_id': mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "select-variation-option-post", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.status == 1) { if (obj.html_content_price != "") { document.getElementById("product_details_price_container").innerHTML = obj.html_content_price; } if (obj.html_content_stock != "") { document.getElementById("text_product_stock_status").innerHTML = obj.html_content_stock; if (obj.stock_status == 0) { $(".btn-product-cart").attr("disabled", true); } else { $(".btn-product-cart").attr("disabled", false); } } if (obj.html_content_slider != "") { $('#product_slider').slick('unslick'); $('#product_thumbnails_slider').slick('unslick'); document.getElementById("product_slider_container").innerHTML = obj.html_content_slider; $('#product_slider').slick({ slidesToShow: 1, slidesToScroll: 1, speed: 300, arrows: true, fade: true, infinite: false, swipeToSlide: true, cssEase: 'linear', lazyLoad: 'progressive', prevArrow: $('#product-slider-nav .prev'), nextArrow: $('#product-slider-nav .next'), asNavFor: '#product_thumbnails_slider' }); $('#product_thumbnails_slider').slick({ slidesToShow: 7, slidesToScroll: 1, speed: 300, focusOnSelect: true, arrows: false, infinite: false, vertical: true, centerMode: false, arrows: true, cssEase: 'linear', lazyLoad: 'progressive', prevArrow: $('#product-thumbnails-slider-nav .prev'), nextArrow: $('#product-thumbnails-slider-nav .next'), asNavFor: '#product_slider' }); } } if (variation_type == 'dropdown') { get_sub_variation_options(variation_id, selected_option_id); } } }); } function get_sub_variation_options(variation_id, selected_option_id) { var data = { "variation_id": variation_id, "selected_option_id": selected_option_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ url: mds_config.base_url + "get-sub-variation-options", type: "POST", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.status == 1) { if (selected_option_id == "") { document.getElementById("variation_dropdown_" + obj.subvariation_id).innerHTML = ""; } else { document.getElementById("variation_dropdown_" + obj.subvariation_id).innerHTML = obj.html_content; } } } }); } /* *------------------------------------------------------------------------------------------ * NUMBER SPINNER FUNCTIONS *------------------------------------------------------------------------------------------ */ //number spinner $(document).on('click', '.product-add-to-cart-container .number-spinner button', function () { update_number_spinner($(this)); }); function update_number_spinner(btn) { var btn = btn, oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 0; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); } $(document).on("input keyup paste change", ".number-spinner input", function () { var val = $(this).val(); val = val.replace(",", ""); val = val.replace(".", ""); if (!$.isNumeric(val)) { val = 1; } if (isNaN(val)) { val = 1; } $(this).val(val); }); $(document).on("input paste change", ".cart-item-quantity .number-spinner input", function () { var data = { 'product_id': $(this).attr("data-product-id"), 'cart_item_id': $(this).attr("data-cart-item-id"), 'quantity': $(this).val(), 'sys_lang_id': mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "update-cart-product-quantity", data: data, success: function (response) { location.reload(); } }); }); $(document).on("click", ".cart-item-quantity .btn-spinner-minus", function () { update_number_spinner($(this)); var cart_id = $(this).attr("data-cart-item-id"); if ($("#q-" + cart_id).val() != 0) { $("#q-" + cart_id).change(); } }); $(document).on("click", ".cart-item-quantity .btn-spinner-plus", function () { update_number_spinner($(this)); var cart_id = $(this).attr("data-cart-item-id"); $("#q-" + cart_id).change(); }); function remove_cart_discount_coupon() { var data = { "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ url: mds_config.base_url + "ajax_controller/remove_cart_discount_coupon", type: "POST", data: data, success: function (response) { location.reload(); } }); } /* *------------------------------------------------------------------------------------------ * REVIEW FUNCTIONS *------------------------------------------------------------------------------------------ */ $(document).on('click', '.rate-product .rating-stars label', function () { $('.rate-product .rating-stars label i').removeClass("icon-star"); $('.rate-product .rating-stars label i').addClass("icon-star-o"); var selected_star = $(this).attr("data-star"); $('.rate-product .rating-stars label').each(function () { var star = $(this).attr("data-star"); if (star <= selected_star) { $(this).find('i').removeClass("icon-star-o"); $(this).find('i').addClass("icon-star"); } }); }); $(document).on('click', '.rate-product .label-star-open-modal', function () { var product_id = $(this).attr("data-product-id"); var rate = $(this).attr("data-star"); $("#rateProductModal #review_product_id").val(product_id); $("#rateProductModal #user_rating").val(rate); }); $(document).on('click', '.btn-add-review', function () { var product_id = $(this).attr("data-product-id"); $("#rateProductModal #review_product_id").val(product_id); }); //delete review function delete_review(review_id, product_id, user_id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var limit = parseInt($("#product_review_limit").val()); var data = { "id": review_id, "product_id": product_id, "user_id": user_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ method: "POST", url: mds_config.base_url + "home_controller/delete_review", data: data }) .done(function (response) { document.getElementById("review-result").innerHTML = response; }) } }); } /* *------------------------------------------------------------------------------------------ * PRODUCT COMMENT FUNCTIONS *------------------------------------------------------------------------------------------ */ $(document).ready(function () { //add comment $("#form_add_comment").submit(function (event) { event.preventDefault(); var is_logged_in = true; var is_valid = true; var form_serialized = $("#form_add_comment").serializeArray(); object_serialized = {}; $(form_serialized).each(function (i, field) { object_serialized[field.name] = field.value; if (field.name == "g-recaptcha-response") { g_recaptcha = field.value; } }); if ($("#form_add_comment").find("#comment_name").length > 0) { is_logged_in = false; } if (is_logged_in == false) { if (str_lenght(object_serialized.name) < 1) { $('#comment_name').addClass("is-invalid"); is_valid = false; } else { $('#comment_name').removeClass("is-invalid"); } if (str_lenght(object_serialized.email) < 1) { $('#comment_email').addClass("is-invalid"); is_valid = false; } else { $('#comment_email').removeClass("is-invalid"); } if (mds_config.is_recaptcha_enabled == true && is_logged_in == false) { if (g_recaptcha == "") { $("#form_add_comment .g-recaptcha").addClass("is-recaptcha-invalid"); is_valid = false; } else { $("#form_add_comment .g-recaptcha").removeClass("is-recaptcha-invalid"); } } } if (str_lenght(object_serialized.comment) < 1) { $('#comment_text').addClass("is-invalid"); is_valid = false; } else { $('#comment_text').removeClass("is-invalid"); } if (!is_valid) { return false; } form_serialized.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); form_serialized.push({name: "limit", value: parseInt($("#product_comment_limit").val())}); form_serialized.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $.ajax({ url: mds_config.base_url + "ajax_controller/add_comment", type: "post", data: form_serialized, success: function (response) { if (mds_config.is_recaptcha_enabled == true && is_logged_in == false) { grecaptcha.reset(); } $("#form_add_comment")[0].reset(); console.log(response); var obj = JSON.parse(response); if (obj.type == 'message') { document.getElementById("message-comment-result").innerHTML = obj.html_content; } else { document.getElementById("comment-result").innerHTML = obj.html_content; } } }); }); }); //add subcomment $(document).on('click', '.btn-submit-subcomment', function () { var comment_id = $(this).attr("data-comment-id"); var data = {}; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $("#form_add_subcomment_" + comment_id).ajaxSubmit({ beforeSubmit: function () { var is_logged_in = true; var is_valid = true; var g_recaptcha = ""; if ($("#form_add_subcomment_" + comment_id).find(".form-comment-name").length > 0) { is_logged_in = false; } var form_serialized = $("#form_add_subcomment_" + comment_id).serializeArray(); object_serialized = {}; $(form_serialized).each(function (i, field) { object_serialized[field.name] = field.value; if (field.name == "g-recaptcha-response") { g_recaptcha = field.value; } }); if (is_logged_in == false) { if (object_serialized.name.length < 1) { $(".form-comment-name").addClass("is-invalid"); is_valid = false; } else { $(".form-comment-name").removeClass("is-invalid"); } if (object_serialized.email.length < 1 || !is_email(object_serialized.email)) { $(".form-comment-email").addClass("is-invalid"); is_valid = false; } else { $(".form-comment-email").removeClass("is-invalid"); } if (mds_config.is_recaptcha_enabled == true) { if (g_recaptcha == "") { $("#form_add_subcomment_" + comment_id + ' .g-recaptcha').addClass("is-recaptcha-invalid"); is_valid = false; } else { $("#form_add_subcomment_" + comment_id + ' .g-recaptcha').removeClass("is-recaptcha-invalid"); } } } if (object_serialized.comment.length < 1) { $(".form-comment-text").addClass("is-invalid"); is_valid = false; } else { $(".form-comment-text").removeClass("is-invalid"); } if (is_valid == false) { return false; } }, type: "POST", url: mds_config.base_url + "ajax_controller/add_comment", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'message') { document.getElementById("sub_comment_form_" + comment_id).innerHTML = obj.html_content; } else { document.getElementById("comment-result").innerHTML = obj.html_content; } } }); }); //load more comment function load_more_comment(product_id) { var limit = parseInt($("#product_comment_limit").val()); var data = { "product_id": product_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $("#load_comment_spinner").show(); $.ajax({ url: mds_config.base_url + "ajax_controller/load_more_comment", type: "POST", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'comments') { setTimeout(function () { $("#load_comment_spinner").hide(); document.getElementById("comment-result").innerHTML = obj.html_content; }, 500); } } }); } //validate email function is_email(email) { var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!regex.test(email)) { return false; } else { return true; } } //get string lenght function str_lenght(str) { if (str == "" || str == null) { return 0; } str = str.trim(); return str.length; } //delete comment function delete_comment(comment_id, product_id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var limit = parseInt($("#product_comment_limit").val()); var data = { "id": comment_id, "product_id": product_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ url: mds_config.base_url + "ajax_controller/delete_comment", type: "POST", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'comments') { document.getElementById("comment-result").innerHTML = obj.html_content; } } }); } }); } //show comment box function show_comment_box(comment_id) { $('.visible-sub-comment').empty(); var limit = parseInt($("#product_comment_limit").val()); var data = { "comment_id": comment_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/load_subcomment_box", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'form') { $('#sub_comment_form_' + comment_id).append(obj.html_content); } } }); } /* *------------------------------------------------------------------------------------------ * BLOG COMMENTS FUNCTIONS *------------------------------------------------------------------------------------------ */ $(document).ready(function () { //add comment $("#form_add_blog_comment").submit(function (event) { event.preventDefault(); var is_logged_in = true; var is_valid = true; var form_serialized = $("#form_add_blog_comment").serializeArray(); object_serialized = {}; $(form_serialized).each(function (i, field) { object_serialized[field.name] = field.value; if (field.name == "g-recaptcha-response") { g_recaptcha = field.value; } }); if ($("#form_add_blog_comment").find("#comment_name").length > 0) { is_logged_in = false; } if (is_logged_in == false) { if (str_lenght(object_serialized.name) < 1) { $('#comment_name').addClass("is-invalid"); is_valid = false; } else { $('#comment_name').removeClass("is-invalid"); } if (str_lenght(object_serialized.email) < 1) { $('#comment_email').addClass("is-invalid"); is_valid = false; } else { $('#comment_email').removeClass("is-invalid"); } if (mds_config.is_recaptcha_enabled == true && is_logged_in == false) { if (g_recaptcha == "") { $("#form_add_blog_comment .g-recaptcha").addClass("is-recaptcha-invalid"); is_valid = false; } else { $("#form_add_blog_comment .g-recaptcha").removeClass("is-recaptcha-invalid"); } } } if (str_lenght(object_serialized.comment) < 1) { $('#comment_text').addClass("is-invalid"); is_valid = false; } else { $('#comment_text').removeClass("is-invalid"); } if (!is_valid) { return false; } form_serialized.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); form_serialized.push({name: "limit", value: parseInt($("#blog_comment_limit").val())}); form_serialized.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $.ajax({ url: mds_config.base_url + "ajax_controller/add_blog_comment", type: "post", data: form_serialized, success: function (response) { if (mds_config.is_recaptcha_enabled == true && is_logged_in == false) { grecaptcha.reset(); } $("#form_add_blog_comment")[0].reset(); var obj = JSON.parse(response); if (obj.type == 'message') { document.getElementById("message-comment-result").innerHTML = obj.html_content; } else { document.getElementById("comment-result").innerHTML = obj.html_content; } } }); }); }); //load more blog comment function load_more_blog_comment(post_id) { var limit = parseInt($("#blog_comment_limit").val()); var data = { "post_id": post_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $("#load_comment_spinner").show(); $.ajax({ url: mds_config.base_url + "ajax_controller/load_more_blog_comments", type: "post", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'comments') { setTimeout(function () { $("#load_comment_spinner").hide(); document.getElementById("comment-result").innerHTML = obj.html_content; }, 500); } } }); } //delete blog comment function delete_blog_comment(comment_id, post_id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var limit = parseInt($("#blog_comment_limit").val()); var data = { "comment_id": comment_id, "post_id": post_id, "limit": limit, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ url: mds_config.base_url + "ajax_controller/delete_blog_comment", type: "post", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.type == 'comments') { document.getElementById("comment-result").innerHTML = obj.html_content; } } }); } }); } /* *------------------------------------------------------------------------------------------ * MESSAGE FUNCTIONS *------------------------------------------------------------------------------------------ */ //delete conversation function delete_conversation(conversation_id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var data = { "conversation_id": conversation_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ method: "POST", url: mds_config.base_url + "message_controller/delete_conversation", data: data }) .done(function (response) { location.reload(); }) } }); } /* *------------------------------------------------------------------------------------------ * CART FUNCTIONS *------------------------------------------------------------------------------------------ */ //remove from cart function remove_from_cart(cart_item_id) { var data = { "cart_item_id": cart_item_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "cart_controller/remove_from_cart", data: data, success: function (response) { location.reload(); } }); }; //update cart product quantity $(document).on('click', '.btn-cart-product-quantity-item', function () { var quantity = $(this).val(); var product_id = $(this).attr("data-product-id"); var data = { "product_id": product_id, "quantity": quantity, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "cart_controller/update_cart_product_quantity", data: data, success: function (response) { location.reload(); } }); }); $(document).ready(function () { $('#use_same_address_for_billing').change(function () { if ($(this).is(":checked")) { $('.cart-form-billing-address').hide(); $('.cart-form-billing-address select').removeClass('select2-req'); } else { $('.cart-form-billing-address').show(); $('.cart-form-billing-address select').addClass('select2-req'); } }); }); //approve order product function approve_order_product(id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (approve) { if (approve) { var data = { "order_product_id": id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "order_controller/approve_order_product_post", data: data, success: function (response) { location.reload(); } }); } }); }; //cancel order function cancel_order(id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (approve) { if (approve) { var data = { "order_id": id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "order_controller/cancel_order_post", data: data, success: function (response) { location.reload(); } }); } }); }; //get shipping methods by location function get_shipping_methods_by_location(state_id) { $('#cart_shipping_methods_container').hide(); $('.cart-shipping-loader').show(); var data = { "state_id": state_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "cart_controller/get_shipping_methods_by_location", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("cart_shipping_methods_container").innerHTML = obj.html_content; setTimeout(function () { $('#cart_shipping_methods_container').show(); $('.cart-shipping-loader').hide(); }, 400); } } }); }; /* *------------------------------------------------------------------------------------------ * LOCATION FUNCTIONS *------------------------------------------------------------------------------------------ */ //search location $(document).on("input paste click", "#input_location", function () { var input_value = $(this).val(); if (input_value.length > 0) { $('.btn-reset-location-input').show(); } else { $('#location_id_inputs input').val(''); $('.btn-reset-location-input').hide(); } if (input_value.length < 2) { $('#response_search_location').hide(); return false; } var data = { "input_value": input_value, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/search_location", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("response_search_location").innerHTML = obj.response; $('#response_search_location').show(); } //search text $('#response_search_location ul li a').wrapInTag({ words: [input_value] }); } }); }); $.fn.wrapInTag = function (opts) { function getText(obj) { return obj.textContent ? obj.textContent : obj.innerText; } var tag = opts.tag || 'strong', words = opts.words || [], regex = RegExp(words.join('|'), 'gi'), replacement = '<' + tag + '>$&</' + tag + '>'; $(this).contents().each(function () { if (this.nodeType === 3) { $(this).replaceWith(getText(this).replace(regex, replacement)); } else if (!opts.ignoreChildNodes) { $(this).wrapInTag(opts); } }); }; //set location $(document).on("click", "#response_search_location ul li a", function () { $('#input_location').val($(this).text()); var country_id = $(this).attr('data-country'); var state_id = $(this).attr('data-state'); var city_id = $(this).attr('data-city'); $('#location_id_inputs').empty(); if (country_id != null && country_id != 0) { $('#location_id_inputs').append("<input type='hidden' value='" + country_id + "' name='country' class='input-location-filter'>"); } if (state_id != null && state_id != 0) { $('#location_id_inputs').append("<input type='hidden' value='" + state_id + "' name='state' class='input-location-filter'>"); } if (city_id != null && city_id != 0) { $('#location_id_inputs').append("<input type='hidden' value='" + city_id + "' name='city' class='input-location-filter'>"); } }); $(document).on('click', '#btn_submit_location', function () { var data = { "country_id": $("#location_id_inputs input[name='country']").val(), "state_id": $("#location_id_inputs input[name='state']").val(), "city_id": $("#location_id_inputs input[name='city']").val(), "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "set-default-location-post", data: data, success: function (response) { location.reload(); } }); }); $(document).on('click', '.btn-reset-location-input', function () { $('#input_location').val(''); $('#location_id_inputs input').val(''); $(this).hide(); }); $(document).on('click', function (e) { if ($(e.target).closest(".filter-location").length === 0) { $("#response_search_location").hide(); } }); /* *------------------------------------------------------------------------------------------ * ABUSE REPORT FUNCTIONS *------------------------------------------------------------------------------------------ */ //report product $("#form_report_product").submit(function (event) { event.preventDefault(); report_abuse("form_report_product", "product"); }); //report seller $("#form_report_seller").submit(function (event) { event.preventDefault(); report_abuse("form_report_seller", "seller"); }); //report review $("#form_report_review").submit(function (event) { event.preventDefault(); report_abuse("form_report_review", "review"); }); //report comment $("#form_report_comment").submit(function (event) { event.preventDefault(); report_abuse("form_report_comment", "comment"); }); function report_abuse(form_id, item_type) { var form_serialized = $("#" + form_id).serializeArray(); form_serialized.push({name: "item_type", value: item_type}); form_serialized.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); form_serialized.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $.ajax({ url: mds_config.base_url + "ajax_controller/report_abuse_post", type: "post", data: form_serialized, success: function (response) { var obj = JSON.parse(response); if (obj.message != '') { document.getElementById("response_" + form_id).innerHTML = obj.message; $("#" + form_id)[0].reset(); } } }); } if ($(".profile-cover-image")[0]) { document.addEventListener('lazybeforeunveil', function (e) { var bg = e.target.getAttribute('data-bg-cover'); if (bg) { e.target.style.backgroundImage = 'url(' + bg + ')'; } }); } /* *------------------------------------------------------------------------------------------ * OTHER FUNCTIONS *------------------------------------------------------------------------------------------ */ $(function () { $(".search-select a").click(function () { $(".search-select .btn").text($(this).text()); $(".search-select .btn").val($(this).text()); $("#input_search_category").val($(this).attr("data-value")); $("#input_search_category_mobile").val($(this).attr("data-value")); $(".search-results-ajax").hide(); }); }); //AJAX search $(document).on("input", "#input_search", function () { var category = $('#input_search_category').val(); var input_value = $(this).val(); if (category && input_value) { search_products(category, input_value, 'desktop'); } }); $(document).on("input", "#input_search_mobile", function () { var category = $('#input_search_category_mobile').val(); var input_value = $(this).val(); if (category && input_value) { search_products(category, input_value, 'mobile'); } }); function search_products(category, input_value, device) { var content_id = 'response_search_results'; if (device == "mobile") { content_id = content_id + '_mobile'; } if (input_value.length < 2) { $('#' + content_id).hide(); return false; } var data = { "category": category, "input_value": input_value, "lang_base_url": mds_config.lang_base_url, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/ajax_search", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById(content_id).innerHTML = obj.response; $('.search-results-product').overlayScrollbars({}); $('#' + content_id).show(); } //search text $('#' + content_id + ' ul li a').wrapInTag({ words: [input_value] }); } }); } $(document).on('click', function (e) { if ($(e.target).closest(".top-search-bar").length === 0) { $("#response_search_results").hide(); } }); //search product filters $(document).on("change keyup paste", ".filter-search-input", function () { var filter_id = $(this).attr('data-filter-id'); var input = $(this).val().toLowerCase(); var list_items = $("#" + filter_id + " li"); list_items.each(function (idx, li) { var text = $(this).find('label').text().toLowerCase(); if (text.indexOf(input) > -1) { $(this).show(); } else { $(this).hide(); } }); }); $(document).on("click", "#btn_filter_price", function () { var price_min = $('#price_min').val(); var price_max = $('#price_max').val(); var page = $(this).attr('data-page'); if (price_min != "" || price_max != "") { var query_string = $(this).attr('data-query-string'); var current_url = $(this).attr('data-current-url'); var params = ""; if (price_min != "") { params = "p_min=" + price_min; if (price_max != "") { params += "&p_max=" + price_max; } } else { if (price_max != "") { params = "p_max=" + price_max; } } if (query_string == "") { query_string = "?" + params; } else { query_string = query_string + "&" + params; } if (page == "profile") { query_string = query_string + "#products"; } window.location.replace(current_url + query_string); } }); $(document).on("change", "#select_sort_items", function () { var val = $(this).val(); var query_string = $(this).attr('data-query-string'); var current_url = $(this).attr('data-current-url'); var page = $(this).attr('data-page'); if (val == "most_recent" || val == "lowest_price" || val == "highest_price") { var params = "sort=" + val; if (query_string == "") { query_string = "?" + params; } else { query_string = query_string + "&" + params; } } if (page == "profile") { query_string = query_string + "#products"; } window.location.replace(current_url + query_string); }); $(document).on("click", "#btn_search_vendor", function () { var val = $('#input_search_vendor').val(); if (val != "") { var query_string = $(this).attr('data-query-string'); var current_url = $(this).attr('data-current-url'); var params = "search=" + val; if (query_string == "") { query_string = "?" + params; } else { query_string = query_string + "&" + params; } window.location.replace(current_url + query_string + "#products"); } }); $("#input_search_vendor").keyup(function (event) { if (event.keyCode === 13) { $("#btn_search_vendor").click(); } }); //set site language function set_site_language(lang_id) { var data = { "lang_id": lang_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ method: "POST", url: mds_config.base_url + "home_controller/set_site_language", data: data }) .done(function (response) { location.reload(); }) } //load more posts function load_more_promoted_products() { $("#load_promoted_spinner").show(); var data = { 'offset': parseInt($("#promoted_products_offset").val()), 'sys_lang_id': mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "home_controller/load_more_promoted_products", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { setTimeout(function () { $("#promoted_products_offset").val(obj.offset); $("#row_promoted_products").append(obj.html_content); $("#load_promoted_spinner").hide(); if (obj.hide_button) { $(".promoted-load-more-container").hide(); } }, 300); } else { setTimeout(function () { $("#load_promoted_spinner").hide(); if (obj.hide_button) { $(".promoted-load-more-container").hide(); } }, 300); } } }); } //send message $("#form_send_message").submit(function (event) { event.preventDefault(); var message_subject = $('#message_subject').val(); var message_text = $('#message_text').val(); var message_receiver_id = $('#message_receiver_id').val(); var message_send_em = $('#message_send_em').val(); if (message_subject.length < 1) { $('#message_subject').addClass("is-invalid"); return false; } else { $('#message_subject').removeClass("is-invalid"); } if (message_text.length < 1) { $('#message_text').addClass("is-invalid"); return false; } else { $('#message_text').removeClass("is-invalid"); } var $form = $(this); var $inputs = $form.find("input, select, button, textarea"); var serializedData = $form.serializeArray(); serializedData.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); serializedData.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $inputs.prop("disabled", true); $.ajax({ url: mds_config.base_url + "message_controller/add_conversation", type: "post", data: serializedData, success: function (response) { $inputs.prop("disabled", false); var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("send-message-result").innerHTML = obj.html_content; $("#form_send_message")[0].reset(); } //send email if (message_send_em == 1) { send_message_as_email(obj.sender_id, message_receiver_id, message_subject, message_text); } } }); }); function send_message_as_email(message_sender_id, message_receiver_id, message_subject, message_text) { var data = { 'email_type': 'new_message', 'sender_id': message_sender_id, "receiver_id": message_receiver_id, "message_subject": message_subject, "message_text": message_text, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/send_email", data: data, success: function (response) { } }); } function get_states(val, map, id_suffix = "") { if (id_suffix != "") { id_suffix = '_' + id_suffix; } $('#select_states' + id_suffix).children('option').remove(); $('#get_states_container' + id_suffix).hide(); if ($('#select_cities' + id_suffix).length) { $('#select_cities' + id_suffix).children('option').remove(); $('#get_cities_container' + id_suffix).hide(); } var data = { "country_id": val, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/get_states", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("select_states" + id_suffix).innerHTML = obj.content; $('#get_states_container' + id_suffix).show(); } else { document.getElementById("select_states" + id_suffix).innerHTML = ""; $('#get_states_container' + id_suffix).hide(); } if (map) { update_product_map(); } } }); } function get_cities(val, map) { var data = { "state_id": val, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/get_cities", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("select_cities").innerHTML = obj.content; $('#get_cities_container').show(); } else { document.getElementById("select_cities").innerHTML = ""; $('#get_cities_container').hide(); } if (map) { update_product_map(); } } }); } $(document).on('change', '#address_input', function () { update_product_map(); }); $(document).on('change', '#zip_code_input', function () { update_product_map(); }); $(document).on('click', '.btn-add-remove-wishlist', function () { var product_id = $(this).attr("data-product-id"); var data_type = $(this).attr("data-type"); if (data_type == "list") { if ($(this).find("i").hasClass("icon-heart-o")) { $(this).find("i").removeClass("icon-heart-o"); $(this).find("i").addClass("icon-heart"); } else { $(this).find("i").removeClass("icon-heart"); $(this).find("i").addClass("icon-heart-o"); } } if (data_type == "details") { if ($(this).find("i").hasClass("icon-heart-o")) { $('.btn-add-remove-wishlist').html('<i class="icon-heart"></i><span>' + mds_config.txt_remove_from_wishlist + '</span>'); } else { $('.btn-add-remove-wishlist').html('<i class="icon-heart-o"></i><span>' + mds_config.txt_add_to_wishlist + '</span>'); } } var data = { "product_id": product_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "add-remove-wishlist-post", data: data, success: function (response) { } }); }); $(document).on('click', '.btn-item-add-to-cart', function () { var product_id = $(this).attr("data-product-id"); var button_id = $(this).attr("data-id"); document.getElementById("btn_add_cart_" + button_id).innerHTML = '<div class="spinner-border spinner-border-add-cart-list"></div>'; var data = { "product_id": product_id, "is_ajax": true, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "cart_controller/add_to_cart", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { setTimeout(function () { $('#btn_add_cart_' + button_id).css('background-color', 'rgb(40, 167, 69, .7)'); document.getElementById("btn_add_cart_" + button_id).innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check2" viewBox="0 0 16 16">\n' + '<path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/>\n' + '</svg>'; $('.span_cart_product_count').html(obj.product_count); $('.span_cart_product_count').removeClass('visibility-hidden'); $('.span_cart_product_count').addClass('visibility-visible'); }, 400); setTimeout(function () { $('#btn_add_cart_' + button_id).css('background-color', 'rgba(255, 255, 255, .7)'); document.getElementById("btn_add_cart_" + button_id).innerHTML = '<i class="icon-cart"></i>'; }, 2000); } } }); }); $("#form_validate").submit(function () { $('.custom-control-validate-input').removeClass('custom-control-validate-error'); setTimeout(function () { $('.custom-control-validate-input .error').each(function () { var name = $(this).attr('name'); if ($(this).is(":visible")) { name = name.replace('[]', ''); $('.label_validate_' + name).addClass('custom-control-validate-error'); } }); }, 100); }); $('.custom-control-validate-input input').click(function () { var name = $(this).attr('name'); name = name.replace('[]', ''); $('.label_validate_' + name).removeClass('custom-control-validate-error'); }); //hide cookies warning function hide_cookies_warning() { $(".cookies-warning").hide(); var data = { "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "home_controller/cookies_warning", data: data, success: function (response) { } }); } $(document).ready(function () { if ($(".validate-form").length > 0) { $('.validate-form').each(function (i, obj) { var id = $(this).attr('id'); $("#" + id).validate(); }); } }); //validate select2 $(".validate-form").submit(function () { $('.select2-req').each(function (i, obj) { var id = $(this).attr('id'); var val = $(this).val(); if (val == "" || val == null || val == undefined) { $('.select2-selection[aria-controls="select2-' + id + '-container"]').addClass('error'); } else { $('.select2-selection[aria-controls="select2-' + id + '-container"]').removeClass('error'); } }); }); $(document).on('change', '.select2-req', function () { var id = $(this).attr('id'); if ($('.select2-selection[aria-controls="select2-' + id + '-container"]').hasClass("error")) { $('.select2-selection[aria-controls="select2-' + id + '-container"]').removeClass('error'); } }); $('#input_vendor_files').on('change', function (e) { $('#label_vendor_files').html(""); var files = $(this).prop('files'); for (var i = 0; i < files.length; i++) { var item = "<span class='badge badge-secondary'>" + files[i].name + "</span><br>"; $('#container_vendor_files').append(item); } }); $("#form_validate").validate(); $("#form_validate_search").validate(); $("#form_validate_search_mobile").validate(); $("#form_validate_newsletter").validate(); $("#form_add_cart").validate(); $("#form_request_quote").validate(); $("#form_validate_checkout").validate(); $("#form_add_cart").submit(function (event) { event.preventDefault(); if (validate_variations('form_add_cart')) { $('#form_add_cart .btn-product-cart').prop('disabled', true); $('#form_add_cart .btn-product-cart .btn-cart-icon').html('<span class="spinner-border spinner-border-add-cart"></span>'); var form = $(this); var serializedData = form.serializeArray(); serializedData.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); serializedData.push({name: "is_ajax", value: 1}); serializedData.push({name: "sys_lang_id", value: mds_config.sys_lang_id}); $.ajax({ url: mds_config.base_url + "add-to-cart", type: "post", data: serializedData, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { setTimeout(function () { $('#form_add_cart .btn-product-cart').html('<i class="icon-check"></i>' + mds_config.txt_added_to_cart); $('.span_cart_product_count').html(obj.product_count); $('.span_cart_product_count').removeClass('visibility-hidden'); $('.span_cart_product_count').addClass('visibility-visible'); }, 400); setTimeout(function () { $('#form_add_cart .btn-product-cart').html('<span class="btn-cart-icon"><i class="icon-cart-solid"></i></span>' + mds_config.txt_add_to_cart); $('#form_add_cart .btn-product-cart').prop('disabled', false); }, 1000); } } }); } }); $("#form_request_quote").submit(function (event) { if (!validate_variations('form_request_quote')) { return false; } }); function validate_variations(form_id) { var is_valid = true; $('#' + form_id + ' .custom-control-variation input').each(function () { if ($(this).hasClass('error')) { var id = $(this).attr('id'); $('#' + form_id + ' .custom-control-variation label').each(function () { if ($(this).attr('for') == id) { $(this).addClass('is-invalid'); is_valid = false; } }); } else { var id = $(this).attr('id'); $('#' + form_id + ' .custom-control-variation label').each(function () { if ($(this).attr('for') == id) { $(this).removeClass('is-invalid'); } }); } }); return is_valid; } $(document).on('click', '.custom-control-variation input', function () { var name = $(this).attr('name'); $('.custom-control-variation label').each(function () { if ($(this).attr('data-input-name') == name) { $(this).removeClass('is-invalid'); } }); }); $(document).ready(function () { $('.validate_terms').submit(function (e) { $('.custom-control-validate-input p').remove(); if (!$('.custom-control-validate-input input').is(":checked")) { e.preventDefault(); $('.custom-control-validate-input').addClass('custom-control-validate-error'); $('.custom-control-validate-input').append("<p class='text-danger'>" + mds_config.msg_accept_terms + "</p>"); } else { $('.custom-control-validate-input').removeClass('custom-control-validate-error'); } }); }); $(document).on("input keyup paste change", ".validate_price .price-input", function () { var val = $(this).val(); val = val.replace(',', '.'); if ($.isNumeric(val) && val != 0) { $(this).removeClass('is-invalid'); } else { $(this).addClass('is-invalid'); } }); $(document).ready(function () { $('.validate_price').submit(function (e) { $('.validate_price .validate-price-input').each(function () { var val = $(this).val(); if (val != '') { val = val.replace(',', '.'); if ($.isNumeric(val) && val != 0) { $(this).removeClass('is-invalid'); } else { e.preventDefault(); $(this).addClass('is-invalid'); $(this).focus(); } } }); }); }); $(document).on("input keyup paste change keypress", ".price-input", function () { if (typeof mds_config.thousands_separator == 'undefined') { mds_config.thousands_separator = '.'; } if (mds_config.thousands_separator == '.') { var $this = $(this); if ((event.which != 46 || $this.val().indexOf('.') != -1) && ((event.which < 48 || event.which > 57) && (event.which != 0 && event.which != 8))) { event.preventDefault(); } var text = $(this).val(); if ((text.indexOf('.') != -1) && (text.substring(text.indexOf('.')).length > 2) && (event.which != 0 && event.which != 8) && ($(this)[0].selectionStart >= text.length - 2)) { event.preventDefault(); } } else { var $this = $(this); if ((event.which != 44 || $this.val().indexOf(',') != -1) && ((event.which < 48 || event.which > 57) && (event.which != 0 && event.which != 8))) { event.preventDefault(); } var text = $(this).val(); if ((text.indexOf(',') != -1) && (text.substring(text.indexOf(',')).length > 2) && (event.which != 0 && event.which != 8) && ($(this)[0].selectionStart >= text.length - 2)) { event.preventDefault(); } } }); //full screen $(document).ready(function () { $("iframe").attr("allowfullscreen", "") }); //delete quote request function delete_quote_request(id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var data = { "id": id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "bidding_controller/delete_quote_request", data: data, success: function (response) { location.reload(); } }); } }); } function get_product_shipping_cost(val, product_id) { $("#product_shipping_cost_container").empty(); $(".product-shipping-loader").show(); var data = { "state_id": val, "product_id": product_id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "ajax_controller/get_product_shipping_cost", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { setTimeout(function () { document.getElementById("product_shipping_cost_container").innerHTML = obj.response; $(".product-shipping-loader").hide(); }, 300); } } }); } function delete_shipping_address(id, message) { swal({ text: message, icon: "warning", buttons: [mds_config.sweetalert_cancel, mds_config.sweetalert_ok], dangerMode: true, }).then(function (willDelete) { if (willDelete) { var data = { "id": id, "sys_lang_id": mds_config.sys_lang_id }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "profile_controller/delete_shipping_address_post", data: data, success: function (response) { location.reload(); } }); } }); } //delete attachment function delete_support_attachment(id) { var data = { 'id': id, 'ticket_type': 'client' }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "support_controller/delete_support_attachment", data: data, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { document.getElementById("response_uploaded_files").innerHTML = obj.response; } } }); } //close support ticket function close_support_ticket(id) { var data = { "id": id, }; data[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name); $.ajax({ type: "POST", url: mds_config.base_url + "close-ticket-post", data: data, success: function (response) { location.reload(); } }); } $(document).ready(function () { $(".form-newsletter").submit(function (event) { event.preventDefault(); var form_id = $(this).attr('id'); var input = "#" + form_id + " .newsletter-input"; var email = $(input).val().trim(); if (email == "") { $(input).addClass('has-error'); return false; } else { $(input).removeClass('has-error'); } var serializedData = $(this).serializeArray(); serializedData.push({name: mds_config.csfr_token_name, value: $.cookie(mds_config.csfr_cookie_name)}); $.ajax({ url: mds_config.base_url + "ajax_controller/add_to_newsletter", type: "post", data: serializedData, success: function (response) { var obj = JSON.parse(response); if (obj.result == 1) { if (form_id == "form_newsletter_footer") { document.getElementById("form_newsletter_response").innerHTML = obj.response; } else { document.getElementById("modal_newsletter_response").innerHTML = obj.response; } if (obj.is_success == 1) { $(input).val(''); } } } }); }); }); $(document).on("change", ".input-show-selected", function () { var id = $(this).attr("data-id"); var val = $(this).val(); $("#" + id).html(val.replace(/.*[\/\\]/, '')); }); if ($('.fb-comments').length > 0) { $(".fb-comments").attr("data-href", window.location.href); } if ($('.post-text-responsive').length > 0) { $(function () { $('.post-text-responsive iframe').wrap('<div class="embed-responsive embed-responsive-16by9"></div>'); $('.post-text-responsive iframe').addClass('embed-responsive-item'); }); } //load product shop location map function load_product_shop_location_map() { var address = $("#span_shop_location_address").text(); document.getElementById("iframe_shop_location_address").setAttribute("src", "https://maps.google.com/maps?width=100%&height=600&hl=en&q=" + address + "&ie=UTF8&t=&z=8&iwloc=B&output=embed&disableDefaultUI=true"); } //player modal preview $('#productVideoModal').on('hidden.bs.modal', function (e) { $(this).find('video')[0].pause(); }); $('#productAudioModal').on('hidden.bs.modal', function (e) { Amplitude.pause(); }); //payment completed circle $(document).ready(function () { $('.circle-loader').toggleClass('load-complete'); $('.checkmark').toggle(); }); $(document).ready(function () { $('[data-toggle="tooltip"]').tooltip(); });