(function($) { "use strict"; /*------------------------------------- jQuery MeanMenu activation code --------------------------------------*/ $('nav#dropdown').meanmenu({ siteLogo: "فروشگاه ارم سبز" }); $(document).ready(function() { $(".accordion-trigger").QuickAccord(); }) responsivemenu.init({ wrapper: document.querySelector('.navigation_container'), togglecontent: 'دسته بندی فروشگاه', sticky: 1 }); /*------------------------------------- Home page 4 Category Menu -------------------------------------*/ $('#menu-content').on('click', 'li.has-sub-menu > a', function(e) { e.preventDefault(); }); $(document).on('click', '#cat-btn', function(e) { e.preventDefault(); var distype = $('#cat-filter').css('display'); if (distype =="none") { $('#cat-filter').css('display', 'block'); $('#search-filter').css('display', 'none'); $('#mobfilter').css('display', 'none'); } else { $('#cat-filter').css('display', 'none'); } }); $(document).on('click', '#search-btn', function(e) { e.preventDefault(); var distype = $('#search-filter').css('display'); if (distype =="none") { $('#search-filter').css('display', 'block'); $('#cat-filter').css('display', 'none'); $('#mobfilter').css('display', 'none'); } else { $('#search-filter').css('display', 'none'); } }); $(document).on('click', '#filter-btn', function(e) { e.preventDefault(); var distype = $('#mobfilter').css('display'); if (distype =="none") { $('#mobfilter').css('display', 'block'); $('#cat-filter').css('display', 'none'); $('#search-filter').css('display', 'none'); } else { $('#mobfilter').css('display', 'none'); } }); /*------------------------------------- wow js active -------------------------------------*/ new WOW().init(); initFlickity(); /*------------------------------------- jquery Scollup activation code -------------------------------------*/ $.scrollUp({ scrollText: '', easingType: 'linear', scrollSpeed: 900, animation: 'fade' }); /* Flickity Slider -------------------------------------------------------*/ function initFlickity() { // main large image (shop product) $('#gallery-main').flickity({ cellAlign: 'center', contain: true, wrapAround: true, autoPlay: false, prevNextButtons: true, percentPosition: true, imagesLoaded: true, lazyLoad: 1, pageDots: false, selectedAttraction : 0.1, friction: 0.6, rightToLeft: true, arrowShape: 'M 25,50 L 65,90 L 70,90 L 30,50 L 70,10 L 65,10 Z' }); // thumbs $('#gallery-thumbs').flickity({ asNavFor: '#gallery-main', contain: true, cellAlign: 'right', wrapAround: false, autoPlay: false, prevNextButtons: false, percentPosition: true, imagesLoaded: true, pageDots: false, selectedAttraction : 0.1, friction: 0.6, rightToLeft: true }); var $gallery = $('.mfp-hover'); $gallery.on( 'dragStart.flickity', function( event, pointer ) { $(this).addClass('is-dragging'); }) $gallery.on( 'dragEnd.flickity', function( event, pointer ) { $(this).removeClass('is-dragging'); }) $gallery.magnificPopup({ delegate: '.lightbox-img, .lightbox-video', callbacks: { elementParse: function(item) { if(item.el.context.className === 'lightbox-video') { item.type = 'iframe'; } else { item.type = 'image'; } } }, type: 'image', closeBtnInside:false, gallery:{ enabled:true } }); } /*------------------------------------- Carousel slider initiation -------------------------------------*/ $('.metro-carousel').each(function() { var carousel = $(this), loop = carousel.data('loop'), items = carousel.data('items'), margin = carousel.data('margin'), stagePadding = carousel.data('stage-padding'), autoplay = carousel.data('autoplay'), autoplayTimeout = carousel.data('autoplay-timeout'), smartSpeed = carousel.data('smart-speed'), dots = carousel.data('dots'), nav = carousel.data('nav'), navSpeed = carousel.data('nav-speed'), rXsmall = carousel.data('r-x-small'), rXsmallNav = carousel.data('r-x-small-nav'), rXsmallDots = carousel.data('r-x-small-dots'), rXmedium = carousel.data('r-x-medium'), rXmediumNav = carousel.data('r-x-medium-nav'), rXmediumDots = carousel.data('r-x-medium-dots'), rSmall = carousel.data('r-small'), rSmallNav = carousel.data('r-small-nav'), rSmallDots = carousel.data('r-small-dots'), rMedium = carousel.data('r-medium'), rMediumNav = carousel.data('r-medium-nav'), rMediumDots = carousel.data('r-medium-dots'), rLarge = carousel.data('r-large'), rLargeNav = carousel.data('r-large-nav'), rLargeDots = carousel.data('r-large-dots'), center = carousel.data('center'); carousel.owlCarousel({ loop: (loop ? true : false), items: (items ? items : 4), lazyLoad: true, margin: (margin ? margin : 0), autoplay: (autoplay ? true : false), autoplayTimeout: (autoplayTimeout ? autoplayTimeout : 1000), smartSpeed: (smartSpeed ? smartSpeed : 250), dots: (dots ? true : false), nav: (nav ? true : false), navText: ["", ""], navSpeed: (navSpeed ? true : false), center: (center ? true : false), responsiveClass: true, responsive: { 0: { items: (rXsmall ? rXsmall : 2), nav: (rXsmallNav ? true : false), dots: (rXsmallDots ? true : false) }, 480: { items: (rXmedium ? rXmedium : 2), nav: (rXmediumNav ? true : false), dots: (rXmediumDots ? true : false) }, 768: { items: (rSmall ? rSmall : 3), nav: (rSmallNav ? true : false), dots: (rSmallDots ? true : false) }, 992: { items: (rMedium ? rMedium : 5), nav: (rMediumNav ? true : false), dots: (rMediumDots ? true : false) }, 1199: { items: (rLarge ? rLarge : 6), nav: (rLargeNav ? true : false), dots: (rLargeDots ? true : false) } } }); }); /*------------------------------------- Jquery Serch Box -------------------------------------*/ $(document).on('click', '#top-search-form a.search-button', function(e) { e.preventDefault(); var targrt = $(this).prev('input.search-input'); targrt.animate({ width: ["toggle", "swing"], height: ["toggle", "swing"], opacity: "toggle" }, 500, "linear"); return false; }); /*------------------------------------- Input Quantity Up & Down activation code -------------------------------------*/ $('#quantity-holder,#quantity-holder2').on('click', '.quantity-plus', function() { var $holder = $(this).parents('.quantity-holder'); var $target = $holder.find('input.quantity-input'); var $quantity = parseInt($target.val(), 10); var qty = parseInt($target.data('qty'), 10); if ($.isNumeric($quantity) && $quantity > 0) { if ($quantity < qty) { $quantity = $quantity + 1; $target.val($quantity); } } else { $target.val($quantity); } }).on('click', '.quantity-minus', function() { var $holder = $(this).parents('.quantity-holder'); var $target = $holder.find('input.quantity-input'); var $quantity = parseInt($target.val(), 10); if ($.isNumeric($quantity) && $quantity >= 2) { $quantity = $quantity - 1; $target.val($quantity); } else { $target.val(1); } }); /*------------------------------------- Select2 activation code -------------------------------------*/ if ($('#checkout-form select.select2').length) { $('#checkout-form select.select2').select2({ theme: 'classic', dropdownAutoWidth: true, width: '100%' }); } /*------------------------------------- Sidebar Menu activation code -------------------------------------*/ $('#additional-menu-area').on('click', 'span.side-menu-trigger', function() { var $this = $(this); if ($this.hasClass('open')) { document.getElementById('mySidenav').style.width = '0'; $this.removeClass('open').find('i.fa').removeClass('fa-times').addClass('fa-bars'); } else { $this.addClass('open').find('i.fa').removeClass('fa-bars').addClass('fa-times'); document.getElementById('mySidenav').style.width = '280px'; } }); $('#mySidenav').on('click', '.closebtn', function(e) { e.preventDefault(); document.getElementById('mySidenav').style.width = '0'; $('#additional-menu-area span.side-menu-trigger').removeClass('open').find('i.fa').removeClass('fa-times').addClass('fa-bars'); }); /*------------------------------------- Category menu selecting -------------------------------------*/ $('#adv-search .sidenav-nav li').on('click', 'a', function() { var $this = $(this), target = $this.parents('div.dropdown').children('button').children('span'); target.text($this.text()); }); /*------------------------------------- Shop category submenu positioning -------------------------------------*/ $('#category-menu-area,#category-menu-area-top').on("mouseenter", "ul > li", function() { var self = $(this), target = self.find('ul.dropdown-menu'), targetUlW = target.outerWidth(), parentHolder = self.parents('.category-menu-area'), w = $(window).width() - (parentHolder.offset().left + parentHolder.width()); if (targetUlW > w) { target.css({ 'top': 0, 'left': '-' + targetUlW + 'px' }); } }).on("mouseleave", "ul li > a", function() { var self = $(this), target = self.find('ul.dropdown-menu'); target.css({ 'top': '', 'left': '' }); }); /*------------------------------------- Auto height for product listing -------------------------------------*/ function equalHeight() { $('.products-container').each(function() { var mHeight = 0; $(this).children('div').children('div').height('auto'); $(this).children('div').each(function() { var itemHeight = $(this).outerHeight(); if (itemHeight > mHeight) { mHeight = itemHeight; } $(this).children('div').height(mHeight + 'px'); }); }); } /*------------------------------------- Window load function -------------------------------------*/ $(window).on('load', function() { // Page Preloader // $('#preloader').fadeOut('slow', function() { // $(this).remove(); // }); //jQuery for Isotope initialization var $container = $('#home-isotope'); if ($container.length > 0) { var $isotope = $container.find('.featuredContainer').isotope({ filter: '*', animationOptions: { duration: 750, easing: 'linear', queue: false } }); $container.find('.isotop-classes-tab').on('click', 'a', function() { var $this = $(this); $this.parent('.isotop-classes-tab').find('a').removeClass('current'); $this.addClass('current'); var selector = $this.attr('data-filter'); $isotope.isotope({ filter: selector, animationOptions: { duration: 750, easing: 'linear', queue: false } }); return false; }); } }); // end window load function /*------------------------------------- Call the load and resized function -------------------------------------*/ $(window).on('load resize', function() { equalHeight(); // Call Equal height function //Define the maximum height for mobile menu var wHeight = $(window).height(), mLogoH = $('a.logo-mobile-menu').outerHeight(); wHeight = wHeight - 50; $('.mean-nav > ul').css('height', wHeight + 'px'); }); /*------------------------------------- window scroll function -------------------------------------*/ $(window).on('scroll', function() { //jquery Stiky Menu activation code // var s = $('#sticker'), // w = $('.wrapper-area'), // target = s.find('.header-bottom'), // windowpos = $(window).scrollTop(), // windowWidth = $(window).width(); // // if (windowWidth > 767) { // var topBar = s.find('.header-top'), // topBarH = 0; // if (topBar.length) { // topBarH = topBar.outerHeight(); // } // // if (windowpos >= topBarH) { // s.addClass('stick'); // var h = target.outerHeight(); // w.css('padding-top', h + 'px'); // } else { // s.removeClass('stick'); // w.css('padding-top', 0); // } // } }); // end of scrool function /*------------------------------------- Google Map activation code -------------------------------------*/ if ($('#googleMap').length) { var initialize = function() { var mapOptions = { zoom: 15, scrollwheel: false, center: new google.maps.LatLng(-37.81618, 144.95692) }; var map = new google.maps.Map(document.getElementById("googleMap"), mapOptions); var marker = new google.maps.Marker({ position: map.getCenter(), animation: google.maps.Animation.BOUNCE, icon: 'img/map-marker.png', map: map }); } google.maps.event.addDomListener(window, 'load', initialize); } /*------------------------------------- Shopping Cart Manager -------------------------------------*/ $(document).on('click', 'a.btn-product_compare', function() { var reload = false; var article_id = $(this).data('id'); if ($(this).hasClass('refresh-me')) { reload = true; } manageCompare('add', article_id, reload); }); $(document).on('click', 'a.btn-product_addtocart', function() { var reload = false; var article_id = $(this).data('id'); var name = $(this).data('var'); var num = parseInt($("#number").val(), 10); var price = $(this).data('price'); var goto_site = $(this).data('goto'); if ($(this).hasClass('refresh-me')) { reload = true; } manageShoppingCart('add', article_id, reload,name,price,num); }); $(document).on('click', 'a.btn-product_remove', function(){ var reload = true; var article_id = $(this).data('id'); var vid = $(this).data('vid'); manageShoppingCart('remove', article_id, reload ,'',vid); }); $(document).on('click', 'a.btn-compare_remove', function(){ var reload = true; var article_id = $(this).data('id'); manageCompare('remove', article_id, reload); }); $('button.quantity-plus').click(function () { var reload = true; var article_id = $(this).data('id'); var num = parseInt($(this).parent().prev().val(), 10);; var name = $(this).data('var'); var target = $(this).data('qty'); var price = $(this).data('price'); var goto_site = $(this).data('goto'); if ($(this).hasClass('refresh-me')) { reload = true; } console.log(num); console.log(target); if (num < target) { manageShoppingCart('add', article_id, reload,name,price, num + 1); } }); $('button.quantity-minus').click(function () { var reload = true; var article_id = $(this).data('id'); var vid = $(this).data('vid'); manageShoppingCart('remove', article_id, reload ,'',vid); }); function manageShoppingCarteupdate(action, article_id, reload ) { $.ajax({ type: "POST", url: variable.manageShoppingCartUrl, data: { article_id: article_id, action: action } }).done(function (data) { $(".dropdown-cart").empty(); $(".dropdown-cart").append(data); var sum_items = parseInt($('.sumOfItems').text()); if (action == 'add') { $('.sumOfItems').text(sum_items + 1); } if (action == 'remove') { $('.sumOfItems').text(sum_items - 1); } if (reload == true) { location.reload(true); return; } // ShowNotificator('alert-info', action_success_msg); }).fail(function (err) { // ShowNotificator('alert-danger', action_error_msg); }).always(function () { if (action == 'add') { $('.add-to-cart a[data-id="' + article_id + '"] span').show(); $('.add-to-cart a[data-id="' + article_id + '"] img').hide(); } }); } function manageShoppingCart(action, article_id, reload,name, price=0 , num=0) { $.ajax({ type: "POST", url: variable.manageShoppingCartUrl, data: { article_id: article_id, name: name, price: price, num: num, action: action } }).done(function (data) { $(".dropdown-cart").empty(); $(".dropdown-cart").append(data); var sum_items = parseInt($('.sumOfItems').text()); if (action == 'add') { $('.sumOfItems').text(sum_items + 1); } if (action == 'remove') { $('.sumOfItems').text(sum_items - 1); } if (reload == true) { location.reload(false); return; } else if (typeof reload == 'string') { location.href = reload; return; } }).fail(function (err) { // ShowNotificator('alert-danger', action_error_msg); alert("خطا") }).always(function () { if (action == 'add') { $('.add-to-cart a[data-id="' + article_id + '"] span').show(); $('.add-to-cart a[data-id="' + article_id + '"] img').hide(); } }); } function manageCompare(action, article_id, reload) { $.ajax({ type: "POST", url: variable.manageCompareUrl, data: { article_id: article_id, action: action } }).done(function (data) { var sum_items = parseInt($('.sumOfCompare').text()); if (action == 'add') { $('.sumOfCompare').text(sum_items + 1); } if (action == 'remove') { $('.sumOfCompare').text(sum_items - 1); } if (reload == true) { location.reload(false); return; } else if (typeof reload == 'string') { location.href = reload; return; } }).fail(function (err) { // ShowNotificator('alert-danger', action_error_msg); alert("خطا") }).always(function () { }); } /*------------------------------------- Price Range Filter activation code -------------------------------------*/ $(document).ready(function() { $('#btnlogin').html('ارسال کد و تایید شماره'); $(document).on('click', '#btnlogin', function(e){ e.preventDefault(); $('#btnlogin').html('... درحال پردازش'); var url = 'https://eramesabz.com'; var user = $('#loginformmodal').serialize(); var logincheck = function(){ $.ajax({ type: 'POST', url: url + '/users/modalcheckphone', dataType: 'json', data: user, success:function(response){ $('#message').html(response.message); if(response.error){ $('#responseDiv').removeClass('alert-success').addClass('alert-danger').show(); } else{ $('#responseDiv').removeClass('alert-danger').addClass('alert-success').show(); $('#otpsection').css("display","block") $('#btnotp').css("display","block") $('#btnlogin').css("display","none") $('#btnlogin').html('ورود و تایید کد'); $(document).on('click', '#btnotp', function(e){ e.preventDefault(); var info = $('#loginformmodal').serialize(); var login = function(){ $.ajax({ type: 'POST', url: url + '/modallogin', dataType: 'json', data: info, success:function(response){ $('#message').html(response.message); if(response.error){ $('#responseDiv').removeClass('alert-success').addClass('alert-danger').show(); } else{ $('#responseDiv').removeClass('alert-danger').addClass('alert-success').show(); setTimeout(function(){ location.reload(); }, 2000); } } }); }; setTimeout(login, 1000); }); } } }); }; setTimeout(logincheck, 1000); }); }); $(document).ready(function(){ var rate; rate = 0; /* 1. Visualizing things on Hover - See next part for action on click */ $('#stars li').on('mouseover', function(){ var onStar = parseInt($(this).data('value'), 10); // The star currently mouse on // Now highlight all the stars that's not after the current hovered star $(this).parent().children('li.star').each(function(e){ if (e < onStar) { $(this).addClass('hover'); } else { $(this).removeClass('hover'); } }); }).on('mouseout', function(){ $(this).parent().children('li.star').each(function(e){ $(this).removeClass('hover'); }); }); /* 2. Action to perform on click */ $('#stars li').on('click', function(){ var onStar = parseInt($(this).data('value'), 10); // The star currently selected var stars = $(this).parent().children('li.star'); for (var i = 0; i < stars.length; i++) { $(stars[i]).removeClass('selected'); } for (i = 0; i < onStar; i++) { $(stars[i]).addClass('selected'); } // JUST RESPONSE (Not needed) var ratingValue = parseInt($('#stars li.selected').last().data('value'), 10); rate = ratingValue ; $('input[name=rate]').val(rate); }); $('#commentbtntxt').html("ارسال دیدگاه"); $('#product_comment').submit(function(e){ e.preventDefault(); $('#commentbtntxt').html('...ارسال دیدگاه '); var url = 'https://eramesabz.com'; var comment = $('#product_comment').serialize(); var didgah = function(){ $.ajax({ type: 'POST', url: url + '/comment', dataType: 'json', data: comment, success:function(response){ $('#message').html('دیدگاه شما ارسال شد و پس از تایید توسط مدیر فروشگاه به نمایش گذاشته خواهد شد'); $('#commentbtntxt').html('دیدگاه شما ارسال شد'); if(response.error){ $('#responseDiv').removeClass('alert-success').addClass('alert-danger').show(); } else{ $('#responseDiv').removeClass('alert-danger').addClass('alert-success').show(); $('#product_comment')[0].reset(); setTimeout(function(){ location.reload(); }, 2000); } } }); }; setTimeout(didgah, 2000); }); $(document).on('click', '#clearMsg', function(){ $('#responseDiv').hide(); }); }); })(jQuery);