1 2$(function () { 3 $(".al_main_category").hover( 4 function () { 5 $('body').addClass("add_overlay"); 6 }, 7 function () { 8 $('body').removeClass("add_overlay"); 9 } 10 ); 11 12 let cardJson = { 13 'cno': '', 14 'dt': '', 15 'cv': '', 16 'name': '', 17 } 18 19 var slotValidater = 2; 20 21 22 var footer_height = jQuery('.footer-light').height(); 23 var header_height = jQuery('.site-header').height(); 24 var window_height = jQuery(window).height(); 25 var header_content_width = jQuery('#content-wrap').height(); 26 // console.log('header_height',header_height,'footer_height',footer_height); 27 jQuery(".al_offset-top-home, .inner-pages-offset").css('margin-top', header_height + 'px'); 28 jQuery("#content-wrap").css('padding-bottom', footer_height); 29 30 jQuery("h2.category-head, .scrollspy-menu, .cart-main-box").css('top', header_height); 31 32 jQuery(window).scroll(function () { 33 var scroll = jQuery(window).scrollTop(); 34 if (scroll <= 100) { 35 jQuery(".site-header").removeClass("fixed-bar"); 36 37 } else { 38 jQuery(".site-header").addClass("fixed-bar"); 39 } 40 }); 41 42 jQuery('.scrollspy-menu a').on('click', function () { 43 jQuery("html, body").animate({ scrollTop: jQuery('#' + jQuery(this).data('slug')).offset().top - (header_height + 30) }); 44 }) 45}); 46 47$(".mobile-account .fa").click(function () { 48 $(".onhover-show-div").toggleClass("open"); 49}); 50 51$(document).on("click", '.discard_editing_order', function (e) { 52 Swal.fire({ 53 title: confirm_discard_edit_order_title, 54 text: confirm_discard_edit_order_desc, 55 showCancelButton: true, 56 confirmButtonText: 'Ok', 57 }).then((result) => { 58 if (result.value) { 59 $.ajax({ 60 type: "post", 61 dataType: "json", 62 url: discard_order_editing_url, 63 data: { 64 "_token": $('meta[name="_token"]').attr('content'), 65 "orderid": $(this).data('orderid') 66 }, 67 success: function (res) { 68 if (res.status == "Success") { 69 success_error_alert('success', res.message, success_error_container); 70 location.reload(); 71 } else { 72 success_error_alert('error', res.message, success_error_container); 73 } 74 } 75 }); 76 } else { 77 return false; 78 } 79 }); 80}); 81 82// Material Select Initialization 83$(document).ready(function () { 84 //$('.mdb-select').materialSelect(); 85 86}); 87// function add_spinner(id){ 88// var html = `<div id="overlay"> 89// <div class="cv-spinner"> 90// <span class="spinner"></span> 91// </div> 92// </div>`; 93// $(id).prepend(html); 94// } 95// function remove_spinner(id){ 96// $(id + ' > #overlay' ).remove(); 97// } 98$(function () { 99 document.ajax_loading = false; 100 $.hasAjaxRunning = function () { 101 102 return document.ajax_loading; 103 }; 104 $(document).ajaxStart(function () { 105 //add_spinner('#our_vendor_main_div'); 106 document.ajax_loading = true; 107 }); 108 $(document).ajaxStop(function () { 109 //remove_spinner('#our_vendor_main_div'); 110 document.ajax_loading = false; 111 }); 112 $(document).ajaxComplete(function () { 113 document.ajax_loading = false; 114 }); 115}); 116 117$(window).scroll(function () { 118 var windscroll = $(window).scrollTop(); 119 var windowheight = $(window).height(); 120 var header_height = $('.site-header').height(); 121 122 if (windscroll >= windowheight) { 123 $('section.scrolling_section').each(function (i) { 124 // The number at the end of the next line is how pany pixels you from the top you want it to activate. 125 if ($(this).position().top <= windscroll - windowheight + 650) { 126 $('.scrollspy-menu li.active').removeClass('active'); 127 $('.scrollspy-menu li').eq(i).addClass('active'); 128 } 129 }); 130 131 } else { 132 $('.scrollspy-menu li.active').removeClass('active'); 133 $('.scrollspy-menu li:first').addClass('active'); 134 jQuery(".alScrollspyProduct").css('margin-top', '0px'); 135 } 136 137}).scroll(); 138 139window.easyZoomInitialize = function easyZoomInitialize() { 140 let thumbs = $('.gallery-parent').children('.gallery-thumbs'), 141 top = $('.gallery-parent').children('.gallery-top'); 142 143 // activation carousel plugin 144 let galleryThumbs = new Swiper(thumbs, { 145 spaceBetween: 5, 146 freeMode: true, 147 watchSlidesVisibility: true, 148 watchSlidesProgress: true, 149 breakpoints: { 150 0: { 151 slidesPerView: 3, 152 }, 153 992: { 154 slidesPerView: 4, 155 }, 156 }, 157 }); 158 let galleryTop = new Swiper(top, { 159 spaceBetween: 10, 160 navigation: { 161 nextEl: '.swiper-button-next', 162 prevEl: '.swiper-button-prev', 163 }, 164 thumbs: { 165 swiper: galleryThumbs, 166 }, 167 }); 168 169 // change carousel item height 170 // gallery-top 171 let productCarouselTopWidth = top.outerWidth(); 172 top.css('height', productCarouselTopWidth); 173 174 // gallery-thumbs 175 let productCarouselThumbsItemWith = thumbs.find('.swiper-slide').outerWidth(); 176 thumbs.css('height', productCarouselThumbsItemWith); 177} 178 179window.loadMainMenuSlider = function loadMainMenuSlider() { 180 $('.slick-track').css("display", "flex"); 181 // $(".menu-slider").slick({arrows:true,dots:!1,infinite:!1,variableWidth:!0,autoplay:!1,speed:300,slidesToShow:6,slidesToScroll:1}); 182 $(".menu-slider").slick({ 183 dots: false, 184 infinite: false, 185 speed: 300, 186 slidesToShow: 9, 187 slidesToScroll: 1, 188 arrows: true, 189 responsive: [ 190 { 191 breakpoint: 1366, 192 settings: { 193 slidesToShow: 9, 194 slidesToScroll: 1 195 } 196 }, 197 { 198 breakpoint: 1024, 199 settings: { 200 slidesToShow: 6, 201 slidesToScroll: 1 202 } 203 }, 204 { 205 breakpoint: 600, 206 settings: { 207 slidesToShow: 4, 208 slidesToScroll: 1 209 } 210 }, 211 { 212 breakpoint: 480, 213 settings: { 214 slidesToShow: 3, 215 slidesToScroll: 1 216 } 217 } 218 ] 219 }); 220 $(" .menu-slider1").slick({ 221 dots: false, 222 infinite: false, 223 speed: 300, 224 slidesToShow: 10, 225 slidesToScroll: 1, 226 arrows: true, 227 responsive: [ 228 { 229 breakpoint: 1366, 230 settings: { 231 slidesToShow: 7, 232 slidesToScroll: 1 233 } 234 }, 235 { 236 breakpoint: 1024, 237 settings: { 238 slidesToShow: 6, 239 slidesToScroll: 1 240 } 241 }, 242 { 243 breakpoint: 600, 244 settings: { 245 slidesToShow: 4, 246 slidesToScroll: 1 247 } 248 }, 249 { 250 breakpoint: 480, 251 settings: { 252 slidesToShow: 3, 253 slidesToScroll: 1 254 } 255 } 256 ] 257 }); 258 259 $(".cate-slider").slick({ 260 dots: false, 261 infinite: true, 262 speed: 300, 263 slidesToShow: 5, 264 slidesToScroll: 1, 265 arrows: true, 266 responsive: [ 267 { 268 breakpoint: 1366, 269 settings: { 270 slidesToShow: 5, 271 slidesToScroll: 1 272 } 273 }, 274 { 275 breakpoint: 1024, 276 settings: { 277 slidesToShow: 4, 278 slidesToScroll: 1 279 } 280 }, 281 { 282 breakpoint: 600, 283 settings: { 284 slidesToShow: 2, 285 slidesToScroll: 1,
286 arrows: false 287 } 288 }, 289 { 290 breakpoint: 480, 291 settings: { 292 slidesToShow: 2, 293 slidesToScroll: 1, 294 arrows: false 295 } 296 } 297 ] 298 }); 299} 300 301loadMainMenuSlider(); 302 303window.resizeMenuSlider = function resizeMenuSlider() { 304 var windowWidth = $(window).width(); 305 if (windowWidth < 320) { 306 $('#main-menu').removeClass('items-center'); 307 } else { 308 if (!$('.menu-slider').hasClass('slick-initialized')) { 309 310 setTimeout(function () { 311 loadMainMenuSlider(); 312 if ($('body').hasClass('al_body_template_six')) { 313 if ($('#main-menu .slick-slide').length > 6) { 314 $('#main-menu').addClass('items-center'); 315 } 316 } else { 317 if ($('#main-menu .slick-slide').length > 13) { 318 $('#main-menu').addClass('items-center'); 319 } 320 setTimeout(function () { 321 $(".sm-horizontal").css("right", "0px"); 322 }, 200); 323 } 324 325 }, 100); 326 327 } 328 } 329} 330 331let path = window.location.pathname; 332if (path != '/') { 333 resizeMenuSlider(); 334} 335$(window).resize(function () { 336 resizeMenuSlider(); 337}); 338 339if ($(window).width() < 767) { 340 $('.footer-contant').addClass('footer-mobile-contant'); 341 $('.footer-contant').removeClass('footer-contant'); 342} 343 344window.initializeSlider = function initializeSlider() { 345 $(".slide-6").slick({ arrows: !0, dots: !1, infinite: !0, speed: 300, centerMode: !0, centerPadding: "60px", slidesToShow: 5, slidesToScroll: 3, responsive: [{ breakpoint: 1367, settings: { slidesToShow: 5, slidesToScroll: 5, infinite: !0 } }, { breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, { breakpoint: 767, settings: { slidesToShow: 3, arrows: !0, slidesToScroll: 3, infinite: !0 } }, { breakpoint: 480, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 346 $(".product-4").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "20px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }] }); 347 $(".product-4-featured_products").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 348 $(".product-4-new_products").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 349 $(".al_mobile_banner").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 350 $(".product-4-on_sale").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 351 $(".recent-orders").slick({ arrows: !0, dots: !1, infinite: !0, speed: 300, slidesToShow: 2, slidesToScroll: 1, responsive: [{ breakpoint: 1199, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 352 353 $(".brand-slider").slick({ 354 arrows: !0, dots: !1, infinite: !0, speed: 300, slidesToShow: 4, slidesToScroll: 3, responsive: [{ 355 breakpoint: 1367, settings: 356 { slidesToScroll: 2, infinite: !0 } 357 }, 358 { breakpoint: 991, settings: { slidesToScroll: 2 } }, 359 { breakpoint: 767, settings: { slidesToShow: 4, slidesToScroll: 1, } }] 360 }); 361 362 $(".suppliers-slider").slick({ infinite: !0, speed: 300, slidesToShow: 4, slidesToScroll: 1, centerMode: !1, centerPadding: "60px", arrows: !0, dots: !1, responsive: [{ breakpoint: 1199, settings: { slidesToShow: 4, slidesToScroll: 3, infinite: !0, dots: !1, centerMode: !1 } }, { breakpoint: 991, settings: { slidesToShow: 3, slidesToScroll: 3, dots: !1, centerMode: !0 } }, { breakpoint: 767, settings: { slidesToShow: 1, slidesToScroll: 1, dots: !1, centerMode: !0 } }] }); 363 $(".al_t2_suppliers-slider").slick({ infinite: !0, speed: 300, slidesToShow: 6, slidesToScroll: 1, centerMode: !1, centerPadding: "0", arrows: !0, dots: !1, responsive: [{ breakpoint: 1367, settings: { slidesToShow: 4, slidesToScroll: 2, infinite: !0 } }, { breakpoint: 991, settings: { slidesToShow: 3, slidesToScroll: 1 } }, { breakpoint: 767, settings: { slidesToShow: 2, slidesToScroll: 1 } }, { breakpoint: 360, settings: { slidesToShow: 1, slidesToScroll: 1 } }] }); 364 $(".product-5").slick({ arrows: !0, dots: !1, infinite: !0, dots: !1, speed: 300, slidesToShow: 6, slidesToScroll: 3, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }, { breakpoint: 420, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 365 $(".vendor-product").slick({ infinite: !0, speed: 300, arrows: !0, dots: !1, slidesToShow: 4, slidesToScroll: 2, autoplay: !0, autoplaySpeed: 5e3, rtl: !1, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 767, settings: { slidesToShow: 1, slidesToScroll: 1, arrows: !0 } }] }); 366 $(".booking-time, .agentSlotSlider").slick({ dots: !1, arrows: !0, infinite: !0, speed: 300, slidesToShow: 3, slidesToScroll: 3, responsive: [{ breakpoint: 1367, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, { breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, { breakpoint: 767, settings: { slidesToShow: 3, arrows: !0, slidesToScroll: 3, infinite: !0 } }, { breakpoint: 480, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 367 //$('.').slick({dots:!1,arrows:!0,infinite:!0,speed:300,slidesToShow:3,slidesToScroll:3,responsive:[{breakpoint:1367,settings:{slidesToShow:4,slidesToScroll:4,infinite:!0}},{breakpoint:1024,settings:{slidesToShow:4,slidesToScroll:4,infinite:!0}},{breakpoint:767,settings:{slidesToShow:3,arrows:!0,slidesToScroll:3,infinite:!0}},{breakpoint:480,settings:{slidesToShow:1,arrows:!0,slidesToScroll:1}}]}); 368 if ($('body').attr('dir') == 'rtl') { 369 $(".slide-6, .brand-slider, .product-4, .product-5, .brand-slider, .suppliers-slider, .al_t2_suppliers-slider, .booking-time, .vendor-product").slick('slickSetOption', { rtl: true }, true); 370 } 371} 372 373 374window.initializeSliderNew = function initializeSliderNew() { 375 $(".product-4-featured_products").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 376 $(".product-4-new_products").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 377 $(".product-4-on_sale").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "60px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 378 $(".recent-orders").slick({ arrows: !0, dots: !1, infinite: !0, speed: 300, slidesToShow: 2, slidesToScroll: 1, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 4, slidesToScroll: 2 } }, { breakpoint: 991, settings: { slidesToShow: 3, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }, { breakpoint: 420, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 379 380 $(".brand-slider").slick({ arrows: !0, dots: !1, infinite: !0, speed: 300, slidesToShow: 4, slidesToScroll: 3, responsive: [{ breakpoint: 1367, settings: { slidesToShow: 4, slidesToScroll: 2, infinite: !0 } }, { breakpoint: 991, settings: { slidesToShow: 3, slidesToScroll: 1 } }, { breakpoint: 767, settings: { slidesToShow: 4, slidesToScroll: 1 } }, { breakpoint: 360, settings: { slidesToShow: 4, slidesToScroll: 1 } }] }); 381 382 $(".suppliers-slider-trending_vendors").slick({ infinite: !0, speed: 300, slidesToShow: 6, slidesToScroll: 1, centerMode: !1, centerPadding: "60px", arrows: !0, dots: !1, responsive: [{ breakpoint: 1199, settings: { slidesToShow: 4, slidesToScroll: 3, infinite: !0, dots: !1, centerMode: !1 } }, { breakpoint: 991, settings: { slidesToShow: 3, slidesToScroll: 3, dots: !1, centerMode: !0 } }, { breakpoint: 767, settings: { slidesToShow: 1, slidesToScroll: 1, dots: !1, centerMode: !0 } }, { breakpoint: 576, settings: { slidesToShow: 1, slidesToScroll: 1, dots: !1, centerMode: !0 } }] }); 383 $(".product-5").slick({ arrows: !0, dots: !1, infinite: !0, dots: !1, speed: 300, slidesToShow: 6, slidesToScroll: 3, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }, { breakpoint: 420, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 384 $(".vendor-product").slick({ infinite: !0, speed: 300, arrows: !0, dots: !1, slidesToShow: 4, slidesToScroll: 2, autoplay: !0, autoplaySpeed: 5e3, rtl: !1, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 767, settings: { slidesToShow: 1, slidesToScroll: 1, arrows: !0 } }] }); 385 $(".booking-time").slick({ dots: !1, arrows: !0, infinite: !0, speed: 300, slidesToShow: 3, slidesToScroll: 3, responsive: [{ breakpoint: 1367, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, { breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, { breakpoint: 767, settings: { slidesToShow: 3, arrows: !0, slidesToScroll: 3, infinite: !0 } }, { breakpoint: 480, settings: { slidesToShow: 1, arrows: !0, slidesToScroll: 1 } }] }); 386 387 if ($('body').attr('dir') == 'rtl') { 388 $(".slide-6, .brand-slider, .product-4, .product-5, .brand-slider, .suppliers-slider, .booking-time, .vendor-product").slick('slickSetOption', { rtl: true }, true); 389 } 390} 391 392 393 394$(document).ready(function () { 395 396 // $(".toggle-nav").click(function() { 397 // $("body").toggleClass("overflow-hidden"); 398 // }); 399 400 $(".toggle-password").click(function () { $(this).toggleClass("eye"); var t = $($(this).attr("toggle")); "password" == t.attr("type") ? t.attr("type", "text") : t.attr("type", "password") }); 401 $(".mobile-search-btn").click(function () { $(".radius-bar").slideToggle(); });
402 $("#side_menu_toggle").click(function () { $(".manu-bars").toggleClass("menu-btn"); $(".scrollspy-menu").toggleClass("side-menu-open"); $("body").toggleClass("overflow-hidden"); }); 403 $('#myModal').on('show.bs.modal', function (e) { document.querySelector('meta[name="viewport"]').content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0'; }); 404 405 $.ajaxSetup({ 406 headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') } 407 }); 408 409 let queryString = window.location.search; 410 let path = window.location.pathname; 411 let urlParams = new URLSearchParams(queryString); 412 if ((urlParams.has('PayerID')) && (urlParams.has('token'))) { 413 $('.spinner-overlay').show(); 414 let tipAmount = 0; 415 if (urlParams.has('tip')) { 416 tipAmount = urlParams.get('tip'); 417 } 418 order_number = 0; 419 if (urlParams.has('ordernumber')) { 420 order_number = urlParams.get('ordernumber'); 421 } 422 paymentSuccessViaPaypal(urlParams.get('amount'), urlParams.get('token'), urlParams.get('PayerID'), path, tipAmount, order_number); 423 } 424 425 initialize(); 426 cartHeader(); 427 428}); 429$("#main_search_box").blur(function (e) { 430 setTimeout(function () { 431 $('#search_box_main_div').html('').hide(); 432 }, 433 500); 434}); 435$("#mobile_search_box_btn").click(function () { 436 $('.radius-bar').slideToggle(); 437}); 438 439$(document).on("click", "#search_viewall", function (e) { 440 let keyword = $("#main_search_box").val(); 441 let url = "/search-all/" + keyword; 442 // url = url.replace(':id', keyword); 443 // document.location.href=url; 444 window.location.href = url; 445 return false; 446}); 447$(document).on("click", "#search_map_view", function (e) { 448 let keyword = $("#main_search_box").val(); 449 let url = "/search-all/" + keyword + "/map-view"; 450 window.location.href = url; 451 return false; 452}); 453$('input[type=search]').on('search', function () { 454 $('#search_box_main_div').html('').hide(); 455}); 456$("#main_search_box").focus(function () { 457 let keyword = $(this).val(); 458 searchResults(keyword); 459}); 460$("#main_search_box").keyup(function () { 461 let keyword = $(this).val(); 462 searchResults(keyword); 463}); 464var searchAjaxCall = 'ToCancelPrevReq'; 465function searchResults(keyword) { 466 if (keyword.length <= 2) { 467 $('#search_box_main_div').html('').hide(); 468 } 469 if (keyword.length >= 2) { 470 searchAjaxCall = $.ajax({ 471 type: "GET", 472 dataType: 'json', 473 url: autocomplete_url, 474 data: { keyword: keyword }, 475 beforeSend: function () { 476 if (searchAjaxCall != 'ToCancelPrevReq' && searchAjaxCall.readyState < 4) { 477 searchAjaxCall.abort(); 478 } 479 }, 480 success: function (response) { 481 if (response.status == 'Success') { 482 $('#search_box_main_div').html(''); 483 if (response.data.length != 0) { 484 let search_box_category_template = _.template($('#search_box_main_div_template').html()); 485 $("#search_box_main_div").append(search_box_category_template({ results: response.data })).show(); 486 } else { 487 $("#search_box_main_div").html('<p class="text-center my-3">No result found. Please try a new search</p>').show(); 488 } 489 } 490 } 491 }); 492 } 493} 494 495if ($('#cart_main_page').length > 0) { 496 let address_checked = $("input:radio[name='address_id']").is(":checked"); 497 if (address_checked) { 498 $('#order_placed_btn').prop('disabled', false); 499 } else { 500 $('#order_placed_btn').prop('disabled', true); 501 } 502 $("form").submit(function (e) { 503 let address_id = $("input:radio[name='address_id']").is(":checked"); 504 if (!address_id) { 505 // alert('Address field required.'); 506 Swal.fire({ 507 // title: "Warning!", 508 text: _language.getLanString('Address field required.'), 509 icon: "error", 510 button: "OK", 511 }); 512 return false;
513 } 514 }); 515} 516var card = ''; 517var stripe = ''; 518var yoco = ''; 519 520 521$(".search_btn").click(function () { 522 $(".search_warpper").slideToggle("slow"); 523}); 524 525$(".close_btn").click(function () { 526 $(".search_warpper").slideUp("slow"); 527}); 528$(document).delegate(".mobile-back", "click", function () { 529 $(".sm-horizontal").css("right", "-410px"); 530}); 531 532function settingData(type = '', v1 = '', v2 = '') { 533 $.ajax({ 534 type: "post", 535 dataType: "json", 536 url: change_primary_data_url, 537 data: { 538 "type": type, 539 "value1": v1, 540 "value2": v2 541 }, 542 success: function (response) { 543 location.reload(); 544 }, 545 error: function (data) { 546 location.reload(); 547 }, 548 }); 549} 550 551function isNumberKey(evt) { 552 var charCode = (evt.which) ? evt.which : evt.keyCode; 553 if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) { 554 return false; 555 } 556 return true; 557} 558$('.addWishList').click(function () { 559 var sku = $(this).attr('proSku'); 560 var remveFrmWishlist = $(this).attr('remWishlist'); 561 var addWishlist = $(this).attr('addWishlist'); 562 var _this = $(this); 563 $.ajax({ 564 type: "post", 565 dataType: "json", 566 url: add_to_whishlist_url, 567 data: { 568 "_token": $('meta[name="_token"]').attr('content'), 569 "sku": sku, 570 "variant_id": $('#prod_variant_id').val() 571 }, 572 success: function (res) { 573 $('.wishListCount').removeClass('fa-heart'); 574 $('.wishListCount').removeClass('fa-heart-o'); 575 if (res.status == "success") { 576 if (_this.hasClass('btn-solid')) { 577 if (res.message.indexOf('added') !== -1) { 578 _this.text(remveFrmWishlist); 579 } else { 580 _this.text(addWishlist); 581 582 } 583 } 584 if (res.wishListCount > 0) { 585 $('.wishListCount').addClass('fa-heart'); 586 } else { 587 $('.wishListCount').addClass('fa-heart-o'); 588 } 589 } else { 590 location.reload(); 591 } 592 } 593 }); 594}); 595$('.customerLang').click(function () { 596 var changLang = $(this).attr('langId'); 597 settingData('language', changLang); 598}); 599$('.change_language_selector').on('change', function () { 600 var changLang = $(this).val(); 601 settingData('language', changLang); 602}); 603 604$('.customerCurr').click(function () { 605 var changcurrId = $(this).attr('currId'); 606 var changSymbol = $(this).attr('currSymbol'); 607 settingData('currency', changcurrId, changSymbol); 608}); 609 610function stripeInitialize() { 611 stripe = Stripe(stripe_publishable_key); 612 var elements = stripe.elements(); 613 var style = { 614 base: { fontSize: '16px', color: '#32325d', borderColor: '#ced4da' }, 615 }; 616 card = elements.create('card', { hidePostalCode: true, style: style }); 617 card.mount('#stripe-card-element'); 618} 619 620function stripeOXXOInitialize() { 621 stripeOxxo = Stripe(stripe_oxxo_publishable_key); 622} 623 624function stripeIdealInitialize() { 625 stripe_ideal = Stripe(stripe_ideal_publishable_key); 626 var elements = stripe_ideal.elements(); 627 var options = { 628 // Custom styling can be passed to options when creating an Element 629 style: { 630 base: { 631 padding: '10px 12px', 632 color: '#32325d', 633 fontSize: '16px', 634 '::placeholder': { 635 color: '#aab7c4' 636 }, 637 }, 638 }, 639 }; 640 641 // Create an instance of the idealBank Element 642 var idealBank = elements.create('idealBank', options); 643 // Add an instance of the idealBank Element into 644 // the `ideal-bank-element` <div> 645 idealBank.mount('#ideal-bank-element'); 646} 647 648function stripeFPXInitialize() { 649 stripe_fpx = Stripe(stripe_fpx_publishable_key); 650 var elements = stripe_fpx.elements(); 651 var style = { 652 base: { 653 // Add your base input styles here. For example: 654 padding: '10px 12px', 655 color: '#32325d', 656 fontSize: '16px', 657 }, 658 }; 659 fpxBank = elements.create('fpxBank', 660 { 661 style: style, 662 accountHolderType: 'individual', 663 } 664 ); 665 // Add an instance of the fpxBank Element into the container with i
665d `fpx-bank-element`. 666 fpxBank.mount('#fpx-bank-element'); 667} 668 669if (($("#stripe-card-element").length > 0) && (stripe_publishable_key != '')) { 670 stripeInitialize(); 671} 672if (($("#fpx-bank-element").length > 0) && (stripe_fpx_publishable_key != '')) { 673 stripeFPXInitialize(); 674} 675 676if (($("#ideal-bank-element").length > 0) && (stripe_ideal_publishable_key != '')) { 677 stripeIdealInitialize(); 678} 679 680 681$(document).delegate(".subscribe_btn", "click", function () { 682 var sub_id = $(this).attr('data-id'); 683 $.ajax({ 684 type: "get", 685 dataType: "json", 686 url: check_active_subscription_url.replace(":id", sub_id), 687 success: function (response) { 688 if (response.status == "Success") { 689 $.ajax({ 690 type: "get", 691 dataType: "json", 692 url: subscription_payment_options_url.replace(":id", sub_id), 693 success: function (response) { 694 if (response.status == "Success") { 695 $("#subscription_payment #subscription_title").html(response.sub_plan.title); 696 $("#subscription_payment #subscription_price").html(response.currencySymbol + response.sub_plan.price); 697 $("#subscription_payment #subscription_frequency").html(response.sub_plan.frequency); 698 $("#subscription_payment #features_list").html(response.sub_plan.features); 699 $("#subscription_payment #subscription_id").val(sub_id); 700 $("#subscription_payment #subscription_amount").val(response.sub_plan.price); 701 $("#subscription_payment #type_id").val(response.sub_plan.type_id); 702 $("#subscription_payment #subscription_payment_methods").html(''); 703 let payment_method_template = _.template($('#payment_method_template').html()); 704 $("#subscription_payment #subscription_payment_methods").append(payment_method_template({ payment_options: response.payment_options })); 705 if (response.payment_options == '') { 706 $("#subscription_payment .subscription_confirm_btn").hide(); 707 } 708 $("#subscription_payment").modal("show"); 709 if (response.sub_plan.type_id == 2) { 710 var form = document.getElementById('meal-subscription-form'); 711 var formData = new FormData(form); // Create a new FormData object 712 713 var serializedData = JSON.stringify(Object.fromEntries(formData)); // Serialize the form data to JSON 714 715 var serializedField = document.createElement("input"); // Create a new input element 716 serializedField.type = "hidden"; 717 serializedField.name = "serializedForm"; 718 serializedField.value = serializedData; 719 720 document.getElementById('subscription_payment_form').appendChild(serializedField); // Append the serialized field to the form 721 722 // Display the serialized form data in the console 723 } 724 if (stripe_publishable_key != '') { 725 stripeInitialize(); 726 } 727 if (stripe_fpx_publishable_key != '') { 728 stripeFPXInitialize(); 729 } 730 if (stripe_ideal_publishable_key != '') { 731 stripeIdealInitialize(); 732 } 733 } 734 }, 735 error: function (error) { 736 var response = $.parseJSON(error.responseText); 737 let error_messages = response.message; 738 $("#error_response .message_body").html(error_messages); 739 $("#error_response").modal("show"); 740 } 741 }); 742 } 743 }, 744 error: function (error) { 745 var response = $.parseJSON(error.responseText); 746 let error_messages = response.message; 747 $("#error_response .message_body").html(error_messages); 748 $("#error_response").modal("show"); 749 } 750 }); 751});
752$(document).delegate(".subscription_confirm_btn", "click", function () { 753 var _this = $(".subscription_confirm_btn"); 754 _this.attr("disabled", true); 755 var selected_option = $("input[name='subscription_payment_method']:checked"); 756 // var subscription_id = $('#subscription_payment_form #subscription_id').val(); 757 var payment_option_id = selected_option.data("payment_option_id"); 758 759 if (payment_option_id == 58) { 760 var expData = $('#date-element-powertrans').val(); 761 var [expMonth, expYear] = [expData.slice(2), expData.slice(0, 2)] 762 var newDate = expMonth + '/' + expYear; 763 cardJson = { 764 'cno': $('#card-element-powertrans').val(), 765 'dt': newDate, 766 'cv': $('#cvv-element-powertrans').val(), 767 'name': 'powertrans', 768 } 769 if (cardValidation(cardJson)) { 770 console.log('Credit card information is valid.'); 771 } 772 else { 773 success_error_alert('error', 'Invalid credit card information', "#powertrans_card_error"); 774 return false; 775 } 776 } 777 778 if ((selected_option.length > 0) && (payment_option_id > 0)) { 779 subscriptionPaymentOPtions(payment_option_id); 780 781 } else { 782 _this.attr("disabled", false); 783 success_error_alert('error', 'Please select any payment option', "#subscription_payment .payment_response"); 784 } 785}); 786 787function productRemove(product_id, cartproduct_id, vendor_id) { 788 789 $.ajax({ 790 type: "POST", 791 dataType: 'json', 792 url: delete_cart_product_url, 793 data: { cartproduct_id: cartproduct_id }, 794 beforeSend: function () { 795 if ($("#cart_table").length > 0) { 796 $(".spinner-box").show(); 797 $("#cart_table").hide(); 798 } 799 }, 800 success: function (data) { 801 if (data.status == 'success') { 802 $('#cart_product_' + cartproduct_id).remove(); 803 $('#shopping_cart1_' + cartproduct_id).remove(); 804 $('#tr_vendor_products_' + cartproduct_id).remove(); 805 if ($("#tbody_" + vendor_id + " > vendor_products_tr").length == 0) { 806 $('#tbody_' + vendor_id).remove(); 807 $('#thead_' + vendor_id).remove(); 808 } 809 // if ($("[id^=tr_vendor_products_]").length == 0) { 810 // if ($("#cart_main_page").length) { 811 // $("#cart_main_page").html(''); 812 // $('#tbody_' + vendor_id).remove() 813 // let empty_cart_template = _.template($('#empty_cart_template').html()); 814 // $("#cart_main_page").append(empty_cart_template()); 815 // } 816 // } 817 if ($("[id^=cart_product_]").length == 0) { 818 $(".shopping-cart").html(''); 819 } 820 cartHeader(); 821 cartTotalProductCount(); 822 if ($(`#add_button_href${cartproduct_id}`).length > 0) { 823 $(`#add_button_href${cartproduct_id}`).show(); 824 $(`#added_button_href${cartproduct_id}`).hide(); 825 $(`#add_button_href${cartproduct_id}`).text('Add'); 826 } 827 if ($(`#add_button_href${product_id}`).length > 0) { 828 $(`#add_button_href${product_id}`).show(); 829 $(`#added_button_href${product_id}`).hide(); 830 } 831 832 if ($('#show_plus_minus' + cartproduct_id).length != 0) { 833 if ($('.addon_variant_quantity_' + cartproduct_id).closest('.customized_product_row').length > 0) { 834 $('.addon_variant_quantity_' + cartproduct_id).closest('.cart-box-outer').remove(); 835 var total_qty = $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(); 836 if (total_qty > 1) { 837 $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(--total_qty); 838 } else { 839 $('#customize_repeated_item_modal').modal('hide');
840 $('.add_vendor_product[data-product_id="' + product_id + '"]').show(); 841 $('.add_vendor_product[data-product_id="' + product_id + '"]').next().hide(); 842 } 843 } 844 else { 845 $('#show_plus_minus' + cartproduct_id).find('.input_qty').val(1); 846 $('#show_plus_minus' + cartproduct_id).hide(); 847 $('#add_button_href' + cartproduct_id).show(); 848 849 let addons_div = $('#addon_div' + cartproduct_id); 850 addons_div.hide(); 851 } 852 } 853 if ($('#next-button-ondemand-2').length != 0) { 854 $("#next-button-ondemand-2").hide(); 855 } 856 857 } 858 } 859 }); 860} 861 862$(document).on("change", "input:radio[name='address_id']", function () { 863 if ($(this).val()) { 864 $('#order_placed_btn').prop('disabled', false); 865 if ($("#cart_table").length > 0) { 866 $(".spinner-box").show(); 867 $("#cart_table").hide(); 868 } 869 if (is_service_product_price_from_dispatch_forOnDemand == 1) { 870 id = "cart_address_id_{{$address->id}}" 871 $("input:radio[name=address_id]:checked")[0].checked = false; 872 $selectedAddress = OrderStorage.getStorage('cartAddressId'); 873 $(`input:radio[name=address_id][value=${selectedAddress}]`).prop('checked', true) 874 $(".spinner-box").hide(); 875 $("#cart_table").show(); 876 Swal.fire({ 877 icon: 'error', 878 title: _language.getLanString('Oops...'), 879 text: _language.getLanString('Sorry ! address can not be change!'), 880 }) 881 return false; 882 } 883 884 cartHeader($(this).val()); 885 } 886}); 887 888 889$(document).on("change", ".schedule_datetime", function () { 890 var schedule_dt = $(this).val(); 891 var vendor_id = $('#vendor_id').val(); 892 if (typeof $("#edit_order_schedule_datetime").val() != 'undefined' && $("#edit_order_schedule_datetime").val() != '' && ($("#edit_order_schedule_datetime").val() != schedule_dt)) { 893 success_error_alert('error', error_unchanged_schedule_date, ".cart_response"); 894 var edit_order_schedule_datetime = $("#edit_order_schedule_datetime").val(); 895 schedule_datetime = edit_order_schedule_datetime.split(" ")[0]; 896 $(this).val(schedule_datetime); 897 return false; 898 } 899 $.ajax({ 900 type: "POST", 901 dataType: 'json', 902 url: check_schedule_slots, 903 data: { date: schedule_dt, vendor_id: vendor_id }, 904 success: function (response) { 905 if (response.status == "Success") { 906 $('#slot').html(response.data); 907 if (typeof $('#edit_order_schedule_slot').val() != 'undefined') { 908 $(".schedule_datetime").change(); 909 $('#slot').val($('#edit_order_schedule_slot').val()); 910 $('#slot option').prop('disabled', true); 911 $('#slot option[value="' + $('#edit_order_schedule_slot').val() + '"]').attr("disabled", false); 912 } 913 } else { 914 success_error_alert('error', response.message, ".cart_response"); 915 $('#slot').html(response.data); 916 } 917 }, 918 error: function (error) { 919 var response = $.parseJSON(error.responseText); 920 success_error_alert('error', response.message, ".cart_response"); 921 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 922 } 923 }); 924}); 925 926$(document).on("change", ".pickup_schedule_datetime", function () { 927 var schedule_dt = $(this).val(); 928 var vendor_id = $('#vendor_id').val(); 929 $('#loaderforjs').show(); 930 $.ajax({ 931 type: "POST", 932 dataType: 'json', 933 url: check_pickup_schedule_slots, 934 data: { date: schedule_dt, vendor_id: vendor_id }, 935 success: function (response) { 936 if (response.status == "Success") { 937 $('#schedule_pickup_slot').html(response.data); 938 $('#loaderforjs').hide(); 939 } else { 940 success_error_alert('error', response.message, ".cart_response"); 941 $('#schedule_pickup_slot').html(response.data); 942 $('#loaderforjs').hide(); 943 } 944 }, 945 error: function (error) { 946 var response = $.parseJSON(error.responseText); 947 success_error_alert('error', response.message, ".cart_response"); 948 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 949 $('#loaderforjs').hide(); 950 } 951 }); 952}); 953 954$(document).on("change", ".dropoff_schedule_datetime", function () { 955 var schedule_dt = $(this).val(); 956 var vendor_id = $('#vendor_id').val(); 957 $('#loaderfordrop').show(); 958 $.ajax({ 959 type: "POST", 960 dataType: 'json', 961 url: check_dropoff_schedule_slots, 962 data: { date: schedule_dt, vendor_id: vendor_id }, 963 success: function (response) { 964 if (response.status == "Success") { 965 $('#schedule_dropoff_slot').html(response.data); 966 $('#loaderfordrop').hide(); 967 } else { 968 success_error_alert('error', response.message, ".cart_response"); 969 $('#schedule_dropoff_slot').html(response.data); 970 $('#loaderfordrop').hide(); 971 } 972 }, 973 error: function (error) { 974 var response = $.parseJSON(error.responseText); 975 success_error_alert('error', response.message, ".cart_response"); 976 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 977 $('#loaderfordrop').hide(); 978 } 979 }); 980}); 981 982$(document).on('click', '#taskschedule', function () { 983 $('#schedule_div').show();
984 $('.taskschedulebtn').hide(); 985 $('.cross').show(); 986 $('#tasknow').val('schedule'); 987}); 988$(document).on('click', '.cross', function () { 989 $('#schedule_div').attr("style", "display: none !important"); 990 $('.taskschedulebtn').show(); 991 $('.cross').hide(); 992 $('#schedule_datetime').val(''); 993 $('#tasknow').val('now'); 994 // cartHeader(); 995}); 996 997$(document).on("click", ".clproduct_cart_order_form", function (e) { 998 e.preventDefault(); 999 let cart_product_id = $(this).attr("data-product_id"); 1000 let cart_vendor_id = $(this).attr("data-vendor_id"); 1001 var href = get_product_faq + "/" + cart_product_id; 1002 $.get(href, function (response) { 1003 $('#cart_product_order_form').modal('show'); 1004 $('#cart_product-order-form-modal').html(response); 1005 }); 1006}); 1007// category kyc verification 1008$(document).on("click", ".cl_category_kyc_form", function (e) { 1009 e.preventDefault(); 1010 let category_ids = $(this).attr("data-category_id"); 1011 //$(this).prop('disabled', true); 1012 var href = get_category_kyc_document; 1013 1014 $.ajax({ 1015 data: { category_ids: category_ids }, 1016 type: "GET", 1017 dataType: 'json', 1018 url: get_category_kyc_document, 1019 success: function (response) { 1020 $('#cart_product_order_form').modal('show'); 1021 $('#cart_product-order-form-modal').html(response); 1022 }, 1023 error: function (error) { 1024 1025 } 1026 //$(this).prop('disabled', false); 1027 }); 1028 1029}); 1030 1031$(document).on('click', '#category_kycform_submit', function (e) { 1032 $('#proceed_to_pay_loader').show(); 1033 e.preventDefault(); 1034 var input = ''; 1035 1036 $(this).attr("disabled", true); 1037 var form = document.getElementById('category_kyc_form_in_cart'); 1038 var data_uri = post_category_kyc_document; 1039 1040 $.ajaxSetup({ 1041 headers: { 1042 'X-CSRF-TOKEN': jQuery('meta[name="csrf-token"]').attr('content') 1043 } 1044 }); 1045 1046 $.ajax({ 1047 type: "post", 1048 headers: { 1049 Accept: "application/json" 1050 }, 1051 url: data_uri, 1052 data: formData, 1053 contentType: false, 1054 processData: false, 1055 success: function (response) { 1056 if (response.status == 'success') { 1057 $('#category_kycform_submit').attr("disabled", false); 1058 $(".modal .close").click(); 1059 location.reload(); 1060 } else { 1061 $('#category_kycform_submit').attr("disabled", false); 1062 $(".show_all_error.invalid-feedback").show(); 1063 $(".show_all_error.invalid-feedback").text(response.message); 1064 1065 } 1066 return response; 1067 }, 1068 beforeSend: function () { 1069 $(".loader_box").show(); 1070 }, 1071 complete: function () { 1072 $(".loader_box").hide(); 1073 }, 1074 error: function (response) { 1075 $('#category_kycform_submit').attr("disabled", false); 1076 if (response.status === 422) { 1077 let errors = response.responseJSON.errors; 1078 Object.keys(errors).forEach(function (key) { 1079 $("#" + key + "Input input").addClass("is-invalid"); 1080 $("#" + key + "Input span.invalid-feedback").children("strong").text(errors[key][0]); 1081 $("#" + key + "Input span.invalid-feedback").show(); 1082 }); 1083 } else { 1084 $(".show_all_error.invalid-feedback").show(); 1085 $(".show_all_error.invalid-feedback").text('Something went wrong, Please try Again.'); 1086 } 1087 return response; 1088 } 1089 }); 1090 1091}); 1092 1093function toTimestamp(strDate) { 1094 var date = new Date(strDate); 1095 return date.getTime(); 1096} 1097 1098async function checkSlotValidation() { 1099 $returnVal = 1; 1100 var product_schedule_slot = document.getElementsByClassName("vendor_product_schedule_slot"); 1101 await $.each(product_schedule_slot, function (index, value) { 1102 1103 var sel_val = $(value).val(); 1104 if (sel_val == '') { 1105 $returnVal = 0; 1106 return false; 1107 1108 } 1109 1110 }); 1111 return $returnVal; 1112 1113} 1114$(document).on("click", "#order_placed_btn", async function () { 1115 1116 $('.adone_item .item').each(function (index, element) { 1117 let min = $(this).data('min'); 1118 let max = $(this).data('max'); 1119 let checkedBox = $(this).find('input[type="checkbox"]:checked').length 1120 if (checkedBox < min || checkedBox > max) { 1121 1122 $(this).css('transition', 'border 0.2s ease-in-out'); 1123 $(this).css('border', '1px solid red'); 1124 1125 setTimeout(() => { 1126 $(this).css('border', 'none'); 1127 $(this).css('transition', 'none'); 1128 }, 3000); 1129 } 1130 }); 1131 1132 // return true; 1133 1134 if (typeof $("#edit_order_schedule_datetime").val() != 'undefined' && $("#edit_order_schedule_datetime").val() != '' && ($("#edit_order_schedule_datetime").val() != $("#schedule_datetime").val())) { 1135 success_error_alert('error', error_unchanged_schedule_date, ".cart_response"); 1136 $("#schedule_datetime").val($("#edit_order_schedule_datetime").val()); 1137 return false;
1138 } 1139 1140 $(".validate_prescription").each(function () { 1141 var cart_product_prescription = $(this).data('cart_product_prescription'); 1142 if (cart_product_prescription == 0) { 1143 $(this).addClass('has_error'); 1144 } 1145 }); 1146 1147 if ($(".prescription_btn").hasClass('has_error')) { 1148 Swal.fire({ 1149 icon: 'error', 1150 title: 'Oops...', 1151 text: 'kindly select a prescription!', 1152 //footer: '<a href="">Why do I have this issue?</a>' 1153 }) 1154 return false; 1155 } 1156 1157 1158 1159 // var checkboxes = $('.checked-cart-product'); 1160 // var checkedCheckboxes = checkboxes.filter(':checked'); 1161 // if (checkedCheckboxes.length === 0) { 1162 1163 // Swal.fire({ 1164 // icon: 'error', 1165 // title: 'Oops...', 1166 // text: 'Please select at least one product.', 1167 // //footer: '<a href="">Why do I have this issue?</a>' 1168 // }); 1169 // return false; 1170 // } 1171 1172 1173 1174 if ($("#agree_term_check").length > 0) { 1175 var checkbox = document.getElementById("agree_term_check"); 1176 if (!checkbox.checked) { 1177 Swal.fire({ 1178 icon: 'error', 1179 title: 'Oops...', 1180 text: 'Please accept terms and conditions.', 1181 //footer: '<a href="">Why do I have this issue?</a>' 1182 }); 1183 return false; 1184 } 1185 } 1186 1187 var delivery_type = 'D'; 1188 var other_taxes_string = ''; 1189 if ($("#other_taxes_string").val() != null) { 1190 other_taxes_string = $("#other_taxes_string").val(); 1191 } 1192 var selected = document.querySelector(".delivery-fee.select"); 1193 if (selected) { 1194 delivery_type = selected.value; 1195 } 1196 1197 if ($("input[name='product_faq_ids']").length > 0) { 1198 success_error_alert('error', 'Product order form is required! kindly fill the details.', ".cart_response"); 1199 return false; 1200 } 1201 1202 1203 //$("input[name='category_kyc_ids']").length > 0 || 1204 1205 if (($("input[name='without_category_kyc']").val() != 1)) { 1206 success_error_alert('error', 'User Place Order is required! kindly fill the details.', ".cart_response"); 1207 return false; 1208 1209 } 1210 1211 var returnData = await checkSlotValidation(); 1212 if (returnData == 0) { 1213 Swal.fire({ 1214 icon: 'error', 1215 title: 'Oops...', 1216 text: 'kindly select a slot!', 1217 //footer: '<a href="">Why do I have this issue?</a>' 1218 }) 1219 return false; 1220 } 1221 1222 var vendorScheduleDatetime = $('.vendor_schedule_datetime').length 1223 if (vendorScheduleDatetime > 0) { 1224 $(".vendor_schedule_datetime").each(function () { 1225 var scheduleTime = $(this).closest('.vendor_slot_cart').find('select').find(':selected').val(); 1226 if (scheduleTime == '') { 1227 success_error_alert('error', error_Slot_is_required, ".cart_response"); 1228 return false; 1229 } 1230 }); 1231 } 1232 1233 //$('.alert-danger').html(''); 1234 if ((typeof guest_cart != undefined) && (guest_cart == 1)) { 1235 // window.location.href = login_url; 1236 $("#login_modal").modal("show"); 1237 return false; 1238 } 1239 1240 var address = $("input[name='address_id']").val(); 1241 if ((vendor_type == 'delivery' || vendor_type == 'on_demand' || vendor_type == 'rental') && ((address == '') || (address < 1) || ($("input[name='address_id']").length < 1))) { 1242 success_error_alert('error', 'Please add a valid address to continue', ".cart_response"); 1243 return false; 1244 } 1245 if (vendor_type == 'dine_in') { 1246 var dinein_table = $("#vendor_table").val(); 1247 if (dinein_table == '') { 1248 success_error_alert('error', 'Please book a table to continue', ".cart_response"); 1249 return false; 1250 } 1251 } 1252 if (business_type == 'laundry' && scheduling_with_slots == 1 && off_scheduling_at_cart == 0) { 1253 var task_type = 'schedule'; 1254 var schedule_dt = $("#pickup_schedule_datetime").val(); 1255 var schedule_dt_dropoff = $("#dropoff_schedule_datetime").val(); 1256 var slot = $("#schedule_pickup_slot").val(); 1257 var slot_dropoff = $("#schedule_dropoff_slot").val(); 1258 var checkSlot = $('#checkPickUpSlot').val(); 1259 var checkDropoffSlot = $('#checkDropoffSlot').val(); 1260 } else { 1261 var task_type = $("input[name='task_type']").val(); 1262 var schedule_dt = $("#schedule_datetime").val(); 1263 var slot = $("#slot").val(); 1264 var checkSlot = $('#checkSlot').val(); 1265 } 1266 1267 var now = new Date().toISOString(); 1268 if (task_type == 'schedule') { 1269 if (slot) { 1270 var stime = 'T' + slot.split(" - ", 1); 1271 var schedule_dtck = toTimestamp(schedule_dt + ' ' + slot.split(" - ", 1)); 1272 var schedule_dt_check = schedule_dt + stime; 1273 } else { 1274 var schedule_dt_check = ((schedule_dt) ? toTimestamp(schedule_dt) : 'undefined'); 1275 var now = toTimestamp(now); 1276 } 1277 1278 if (business_type == 'laundry' && scheduling_with_slots == 1) { 1279 var schedule_dt_dropoff_time = 'T' + slot_dropoff.split(" - ", 1); 1280 var schedule_dt_dropoffck = toTimestamp(schedule_dt_dropoff + ' ' + slot_dropoff.split(" - ", 1));
1281 var schedule_dt_dropoff = schedule_dt_dropoff + schedule_dt_dropoff_time; 1282 1283 1284 if (schedule_dtck > schedule_dt_dropoffck) { 1285 // return false if pickup_schedule_datetime and dropoff_schedule_datetime is same | By Ovi 1286 success_error_alert('error', 'Dropoff datetime is not less than pickup datetime.', ".cart_response"); 1287 return false; 1288 } 1289 1290 } 1291 1292 if (schedule_dt == '' || schedule_dt == 'undefined') { 1293 success_error_alert('error', error_Schedule_date_is_required, ".cart_response"); 1294 return false; 1295 } else if (schedule_dt_check < now) { 1296 success_error_alert('error', error_Invalid_Schedule_date, ".cart_response"); 1297 return false; 1298 } 1299 } else { 1300 var checkSlot = 0; 1301 } 1302 if (checkSlot == '1') { 1303 if (!slot) { 1304 success_error_alert('error', error_Slot_is_required, ".cart_response"); 1305 return false; 1306 } 1307 1308 if (business_type == 'laundry' && scheduling_with_slots == 1) { 1309 if (!checkDropoffSlot) { 1310 success_error_alert('error', 'Dropoff Slot is required.', ".cart_response"); 1311 return false; 1312 } 1313 } 1314 } 1315 let cartAmount = $("input[name='cart_total_payable_amount']").val(); 1316 let comment_for_pickup_driver = $("input[name='comment_for_pickup_driver']").val(); //commnet for pickup 1317 let comment_for_dropoff_driver = $("input[name='comment_for_dropoff_driver']").val(); //commnet for dropoff 1318 let comment_for_vendor = $("input[name='comment_for_vendor']").val(); //commnet for vendor 1319 var bookingOptionId = ''; 1320 var rentalProtectionId = ''; 1321 // var addonsId = ''; 1322 // var addonsOptionId = ''; 1323 var rentalProtectionId = ''; 1324 var bookingOptionId = ''; 1325 1326 if (business_type == 'laundry' && scheduling_with_slots == 1) { 1327 var schedule_pickup = schedule_dt; 1328 var schedule_dropoff = schedule_dt_dropoff; 1329 } else { 1330 var schedule_pickup = $("#schedule_datetime_pickup").val(); 1331 var schedule_dropoff = $("#schedule_datetime_dropoff").val(); 1332 } 1333 var specific_instructions = $("#specific_instructions").val(); 1334 let tip = $("#cart_tip_amount").val(); 1335 1336 if ((schedule_pickup != undefined)) { 1337 if (schedule_pickup == '') { 1338 success_error_alert('error', 'Please select schedule pickup date & time', ".cart_response"); 1339 return false; 1340 } 1341 } 1342 1343 if ((schedule_dropoff != undefined)) { 1344 if (schedule_dropoff == '') { 1345 success_error_alert('error', 'Please select schedule dropoff date & time', ".cart_response"); 1346 return false; 1347 } 1348 } 1349 1350 if (cartAmount == 0) { 1351 var params = [specific_instructions, task_type, schedule_dropoff, schedule_pickup, schedule_dt, comment_for_pickup_driver, comment_for_dropoff_driver, comment_for_vendor, delivery_type, slot, address]; 1352 // Save Cart Page Detail Forcely If user is paying from his cart. 1353 var checkParam = saveCartPageDetails(params); 1354 if (checkParam != false) { 1355 placeOrder(address, 1, '', tip, delivery_type, other_taxes_string); // Adready Added 1356 return false; 1357 } 1358 } else { 1359 $.ajax({ 1360 type: "POST", 1361 dataType: 'json', 1362 url: update_cart_schedule, 1363 data: { 1364 specific_instructions: specific_instructions, task_type: task_type, schedule_dropoff: schedule_dropoff, schedule_pickup: schedule_pickup, schedule_dt: schedule_dt, comment_for_pickup_driver: comment_for_pickup_driver, comment_for_dropoff_driver: comment_for_dropoff_driver, comment_for_vendor: comment_for_vendor, delivery_type: delivery_type, slot: slot, dropoff_scheduled_slot: slot_dropoff, address: address, payable_amount: cartAmount 1365 } 1366 , success: function (response) { 1367 $(".error_prescription").attr("style", "display:none"); 1368 if (response.status == "passbase_submitted") { 1369 Swal.fire({ 1370 text: response.message, 1371 icon: "error", 1372 button: "OK", 1373 }); 1374 return false;
1375 } else if (response.status == "passbase_rejected" || response.status == "passbase_pending") { 1376 Swal.fire({ 1377 text: response.message, 1378 showCancelButton: true, 1379 confirmButtonText: `Ok`, 1380 }).then((result) => { 1381 if (result.value) { 1382 window.location.replace(passbase_page); 1383 } 1384 }); 1385 return false; 1386 } else if (response.status == "error_prescription") { 1387 $.each(response.presciptionProducts, function (key, product_id) { 1388 $("#error_prescription_" + product_id).attr("style", "display:block"); 1389 }); 1390 1391 return false; 1392 } else if (response.status == "Pending") { 1393 window.location.replace(verifyaccounturl); 1394 } else if (response.status == "Success") { 1395 $.ajax({ 1396 data: {}, 1397 type: "POST", 1398 dataType: 'json', 1399 url: payment_option_list_url, 1400 success: function (response) { 1401 if (response.status == "Success") { 1402 1403 // $('#v_pills_tab').html(''); 1404 $('#v_pills_tabContent').html(''); 1405 // let payment_method_template = _.template($('#payment_method_template').html()); 1406 // $("#v_pills_tab").append(payment_method_template({ payment_options: response.data })); 1407 let payment_method_tab_pane_template = _.template($('#payment_method_tab_pane_template').html()); 1408 $("#v_pills_tabContent").append(payment_method_tab_pane_template({ payment_options: response.data })); 1409 $('#proceed_to_pay_modal').modal('show'); 1410 1411 //mohit sir branch code added by sohail 1412 var advanceCartTotalPayableAmount = $('#advance_cart_total_payable_amount').length; 1413 if (advanceCartTotalPayableAmount == 1) { 1414 var amtHTML = 'Advanced Token Amount: <span id="total_amt">' + $('#advance_cart_total_payable_amount').html() + '</span>'; 1415 $('#proceed_to_pay_modal #pay-billLabel').html(amtHTML); 1416 } else { 1417 $('#proceed_to_pay_modal #total_amt').html($('#cart_total_payable_amount').html()); 1418 } 1419 //till here 1420 if (stripe_publishable_key != '') { 1421 stripeInitialize(); 1422 } 1423 if (stripe_fpx_publishable_key != '') { 1424 stripeFPXInitialize(); 1425 } 1426 if (stripe_ideal_publishable_key != '') { 1427 stripeIdealInitialize(); 1428 } 1429 } 1430 }, 1431 error: function (error) { 1432 var response = $.parseJSON(error.responseText); 1433 1434 let error_messages = response.message; 1435 $.each(error_messages, function (key, error_message) { 1436 $('#min_order_validation_error_' + error_message.vendor_id).html(error_message.message).show(); 1437 }); 1438 } 1439 }); 1440 } 1441 }, 1442 error: function (error) { 1443 var response = $.parseJSON(error.responseText); 1444 success_error_alert('error', response.message, ".cart_response"); 1445 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 1446 } 1447 }); 1448 } 1449}); 1450 1451function saveCartPageDetails(...params) { 1452 var param = params.toString().split(','); 1453 $.ajax({ 1454 type: "POST", 1455 dataType: 'json', 1456 url: update_cart_schedule, 1457 data: { specific_instructions: param[0], task_type: param[1], schedule_dropoff: param[2], schedule_pickup: param[3], schedule_dt: param[4], comment_for_pickup_driver: param[5], comment_for_dropoff_driver: param[6], comment_for_vendor: param[7], delivery_type: param[8], slot: param[9], address: param[10] }, 1458 success: function (response) { 1459 if (response.status == "Success") { 1460 return true 1461 } else { 1462 return false;
1463 } 1464 }, 1465 }); 1466 1467} 1468 1469$(document).delegate("#topup_wallet_btn", "click", function () { 1470 $.ajax({ 1471 data: {}, 1472 type: "POST", 1473 async: false, 1474 dataType: 'json', 1475 url: wallet_payment_options_url, 1476 success: function (response) { 1477 if (response.status == "Success") { 1478 $('#wallet_payment_methods').html(''); 1479 let payment_method_template = _.template($('#payment_method_template').html()); 1480 $("#wallet_payment_methods").append(payment_method_template({ payment_options: response.data })); 1481 if (response.data == '') { 1482 $("#topup_wallet .topup_wallet_confirm").hide(); 1483 } else { 1484 if (stripe_publishable_key != '') { 1485 stripeInitialize(); 1486 } 1487 if (stripe_fpx_publishable_key != '') { 1488 stripeFPXInitialize(); 1489 } 1490 if (stripe_ideal_publishable_key != '') { 1491 stripeIdealInitialize(); 1492 } 1493 } 1494 } 1495 }, 1496 error: function (error) { 1497 var response = $.parseJSON(error.responseText); 1498 let error_messages = response.message; 1499 } 1500 }); 1501}); 1502 1503$(document).delegate(".topup_wallet_btn_for_tip", "click", function () { 1504 // var order_number = $(this).data('order_number'); 1505 // var tip_radio = $("input:radio.tip_radio:checked").val(); 1506 // var custom_tip = $('#custom_tip_amount'+order_number).val(); 1507 // if(tip_radio == 'custom') 1508 // { 1509 // if(custom_tip <= 0 ) 1510 // { 1511 // // swal('Waring!','Tip must be greater than 0','warning'); 1512 // // return false; 1513 // } 1514 // } 1515 $.ajax({ 1516 data: {}, 1517 type: "POST", 1518 async: false, 1519 dataType: 'json', 1520 url: wallet_payment_options_url, 1521 success: function (response) { 1522 if (response.status == "Success") { 1523 $('#wallet_payment_methods').html(''); 1524 let payment_method_template = _.template($('#payment_method_template').html()); 1525 $("#wallet_payment_methods").append(payment_method_template({ payment_options: response.data })); 1526 if (response.data == '') { 1527 $("#topup_wallet .topup_wallet_confirm").hide(); 1528 } else { 1529 if (stripe_publishable_key != '') { 1530 stripeInitialize(); 1531 } 1532 if (stripe_fpx_publishable_key != '') { 1533 stripeFPXInitialize(); 1534 } 1535 if (stripe_ideal_publishable_key != '') { 1536 stripeIdealInitialize(); 1537 } 1538 1539 } 1540 } 1541 }, 1542 error: function (error) { 1543 var response = $.parseJSON(error.responseText); 1544 let error_messages = response.message; 1545 } 1546 }); 1547}); 1548 1549 1550 1551var paymentAjaxData = {}; 1552 1553function stripePaymentMethodHandler(result) { 1554 let total_amount = 0; 1555 let tip = 0; 1556 let cartElement = $("input[name='cart_total_payable_amount']"); 1557 let walletElement = $("input[name='wallet_amount']"); 1558 let subscriptionElement = $("input[name='subscription_amount']"); 1559 let pending_amount = $("input[name='amount_pending']"); 1560 let tipElement = $("#cart_tip_amount"); 1561 let payment_form = ''; 1562 let type = $("input[name='type_id']").val(); 1563 let mealSubscriptionForm = ''; 1564 if (type == '2') { 1565 mealSubscriptionForm = $("input[name='serializedForm']").val() 1566 paymentAjaxData.days = $('#sub-days').html(); 1567 } 1568 // let payment_option_id = paymentAjaxData.payment_option_id; 1569 1570 paymentAjaxData.payment_method_id = result.paymentMethod.id; 1571 paymentAjaxData.type_id = type; 1572 // paymentAjaxData.payment_option_id = payment_option_id; 1573 if (path.indexOf("cart") !== -1) { 1574 payment_form = 'cart'; 1575 total_amount = cartElement.val(); 1576 } else if ((path.indexOf("wallet") !== -1) || ((typeof cabbookingwallet !== 'undefined') && (cabbookingwallet == 1)
1576)) { 1577 payment_form = 'wallet'; 1578 total_amount = walletElement.val(); 1579 } else if (path.indexOf("subscription") !== -1 || path.indexOf("mealSubscription") !== -1) { 1580 payment_form = 'subscription'; 1581 total_amount = subscriptionElement.val(); 1582 // paymentAjaxData = $("#subscription_payment_form").serializeArray(); 1583 paymentAjaxData.subscription_id = $("#subscription_payment_form #subscription_id").val(); 1584 } else if ((typeof tip_for_past_order !== 'undefined') && (tip_for_past_order == 1)) { 1585 total_amount = walletElement.val(); 1586 payment_form = 'tip'; 1587 paymentAjaxData.order_number = $("#order_number").val(); 1588 } else if (path.indexOf("giftCard") !== -1) { 1589 payment_form = 'giftCard'; 1590 total_amount = $("input[name='giftCard_amount']").val(); 1591 // paymentAjaxData = $("#subscription_payment_form").serializeArray(); 1592 paymentAjaxData.gift_card_id = $("#giftCard_id").val(); 1593 paymentAjaxData.send_card_to_name = $("input[name='send_card_to_name']").val(); 1594 paymentAjaxData.send_card_to_mobile = $("input[name='send_card_to_mobile']").val(); 1595 paymentAjaxData.send_card_to_email = $("input[name='send_card_to_email']").val(); 1596 paymentAjaxData.send_card_to_address = $("input[name='send_card_to_address']").val(); 1597 paymentAjaxData.send_card_is_delivery = $("#send_card_is_delivery").val(); 1598 1599 } 1600 1601 if ((typeof pending_amount_for_past_order !== 'undefined') && (pending_amount_for_past_order == 1)) { 1602 total_amount = pending_amount.val(); 1603 payment_form = 'pending_amount_form'; 1604 paymentAjaxData.order_number = $("#order_number").val(); 1605 } 1606 paymentAjaxData.payment_form = payment_form; 1607 paymentAjaxData.total_amount = total_amount; 1608 if (mealSubscriptionForm !== 'undefined' && mealSubscriptionForm !== '') { 1609 paymentAjaxData.mealSubscriptionForm = mealSubscriptionForm; 1610 } 1611 if (result.error) { 1612 swal.fire({ 1613 icon: 'error', 1614 title: 'Oops...', 1615 text: 'Something Went Wrong', 1616 }).then(function () { 1617 window.location.reload(); 1618 }); 1619 } else { 1620 fetch('/payment/payment_init', { 1621 method: 'POST', 1622 headers: { 1623 "Content-Type": "application/json", 1624 "Accept": "application/json", 1625 "X-Requested-With": "XMLHttpRequest", 1626 "X-CSRF-Token": $('input[name="_token"]').val() 1627 }, 1628 credentials: "same-origin", 1629 body: JSON.stringify(paymentAjaxData) 1630 }).then(function (result) { 1631 // Handle server response (see Step 4) 1632 result.json().then(function (json) { 1633 handleServerResponse(json); 1634 }) 1635 }); 1636 } 1637} 1638 1639function handleServerResponse(response) { 1640 if (response.error) { 1641 swal.fire({ 1642 icon: 'error', 1643 title: 'Oops...', 1644 text: response.error, 1645 }).then(function () { 1646 window.location.reload(); 1647 }); 1648 // Show error from server on payment form 1649 } else if (response.requires_action) { 1650 // Use Stripe.js to handle required card action 1651 if (response.hasOwnProperty('type') && response.type == 'subscription') { 1652 stripe.confirmCardPayment(response.payment_intent_client_secret, { 1653 payment_method: { 1654 card: card 1655 }, 1656 }) 1657 .then(function () { 1658 setTimeout(() => { 1659 window.location.href = response.result; 1660 }, 1500); 1661 }); 1662 } else { 1663 stripe.handleCardAction( 1664 response.payment_intent_client_secret 1665 ).then(handleStripeJsResult); 1666 } 1667 } else { 1668 setTimeout(() => { 1669 window.location.href = response.result; 1670 }, 1500); 1671 } 1672} 1673 1674function handleStripeJsResult(result) { 1675 if (result.error) { 1676 swal.fire({ 1677 icon: 'error', 1678 title: 'Oops...', 1679 text: result.error.message, 1680 }).then(function () { 1681 window.location.reload(); 1682 }); 1683 // Show error in payment form 1684 } else { 1685 paymentAjaxData.payment_intent_id = result.paymentIntent.i
1685d; 1686 1687 // let total_amount = 0; 1688 // let tip = 0; 1689 // let cartElement = $("input[name='cart_total_payable_amount']"); 1690 // let walletElement = $("input[name='wallet_amount']"); 1691 // let subscriptionElement = $("input[name='subscription_amount']"); 1692 // let tipElement = $("#cart_tip_amount"); 1693 // let payment_form = ''; 1694 // let payment_option_id = localStorage.getItem('payment_option'); 1695 // let ajaxData = { 1696 // payment_intent_id : result.paymentIntent.id, 1697 // total_amount : total_amount, 1698 // payment_option_id : payment_option_id 1699 // }; 1700 // if (path.indexOf("cart") !== -1) { 1701 // payment_form = 'cart'; 1702 // total_amount = cartElement.val(); 1703 // // order_number = localStorage.getItem('order_number'); 1704 // ajaxData.address_id = 1; 1705 // ajaxData.order_number = localStorage.getItem('order_number'); 1706 // } else if ((path.indexOf("wallet") !== -1) || ((typeof cabbookingwallet !== 'undefined') && (cabbookingwallet == 1))) { 1707 // payment_form = 'wallet'; 1708 // total_amount = walletElement.val(); 1709 // } else if (path.indexOf("subscription") !== -1) { 1710 // payment_form = 'subscription'; 1711 // total_amount = subscriptionElement.val(); 1712 // ajaxData = $("#subscription_payment_form").serializeArray(); 1713 // } else if ((typeof tip_for_past_order !== 'undefined') && (tip_for_past_order == 1)) { 1714 // total_amount = walletElement.val(); 1715 // payment_form = 'tip'; 1716 // ajaxData.order_number = localStorage.getItem('order_number'); 1717 // } 1718 // ajaxData.payment_form = payment_form; 1719 // ajaxData.total_amount = total_amount; 1720 1721 // The card action has been handled 1722 // The PaymentIntent can be confirmed again on the server 1723 fetch('/payment/payment_init', { 1724 method: 'POST', 1725 headers: { 1726 "Content-Type": "application/json", 1727 "Accept": "application/json", 1728 "X-Requested-With": "XMLHttpRequest", 1729 "X-CSRF-Token": $('input[name="_token"]').val() 1730 }, 1731 body: JSON.stringify(paymentAjaxData) 1732 }).then((response) => response.json()) 1733 .then((responseJSON) => { 1734 $('#proceed_to_pay_loader').hide(); 1735 window.location.href = responseJSON.result; 1736 }); 1737 } 1738 1739} 1740 1741function paymentViaStripe(stripe_token, address_id, payment_option_id, delivery_type = 'D', order = '') { 1742 let total_amount = 0; 1743 let tip = 0; 1744 let cartElement = $("input[name='cart_total_payable_amount']"); 1745 let walletElement = $("input[name='wallet_amount']"); 1746 let subscriptionElement = $("input[name='subscription_amount']"); 1747 let tipElement = $("#cart_tip_amount"); 1748 let payment_form = ''; 1749 1750 let ajaxData = []; 1751 if (path.indexOf("cart") !== -1) { 1752 payment_form = 'cart'; 1753 total_amount = cartElement.val(); 1754 tip = tipElement.val(); 1755 ajaxData.push( 1756 { name: 'tip', value: tip }, 1757 { name: 'order_number', value: order.order_number } 1758 ); 1759 } else if ((path.indexOf("wallet") !== -1) || ((typeof cabbookingwallet !== 'undefined') && (cabbookingwallet == 1))) { 1760 payment_form = 'wallet'; 1761 total_amount = walletElement.val(); 1762 } else if (path.indexOf("subscription") !== -1) { 1763 payment_form = 'subscription'; 1764 total_amount = subscriptionElement.val(); 1765 ajaxData = $("#subscription_payment_form").serializeArray(); 1766 } else if ((typeof tip_for_past_order !== 'undefined') && (tip_for_past_order == 1)) { 1767 total_amount = walletElement.val(); 1768 payment_form = 'tip'; 1769 ajaxData.push( 1770 { name: 'order_number', value: $("#order_number").val() } 1771 ); 1772 } 1773 ajaxData.push( 1774 { name: 'payment_form', value: payment_form }, 1775 { name: 'stripe_token', value: stripe_token }, 1776 { name: 'amount', value: total_amount }, 1777 { name: 'payment_option_id', value: payment_option_id } 1778 ); 1779 $.ajax({ 1780 type: "POST", 1781 dataType: 'json', 1782 url: payment_stripe_url, 1783 data: ajaxData, 1784 success: function (resp) { 1785 if (resp.status == 'Success') { 1786 if (path.indexOf("cart") !== -1) { 1787 // placeOrder(address_id, payment_option_id, resp.data.id, tip,delivery_type); 1788 } else if (path.indexOf("wallet") !== -1) { 1789 // creditWallet(total_amount, payment_option_id, resp.data.id); 1790 } else if (path.indexOf("subscription") !== -1) { 1791 // userSubscriptionPurchase(total_amount, payment_option_id, resp.data.id); 1792 } else if ((tip_for_past_order != undefined) && (tip_for_past_order == 1)
1792) { 1793 1794 // let order_number = $("#order_number").val(); 1795 // if (order_number.length > 0) { 1796 // order_number = order_number; 1797 // } 1798 // creditTipAfterOrder(total_amount, payment_option_id, resp.data.id, order_number); 1799 } else if ((cabbookingwallet != undefined) && (cabbookingwallet == 1)) { 1800 // creditWallet(total_amount, payment_option_id, resp.data.id); 1801 } 1802 window.location.href = resp.data; 1803 } else { 1804 if (path.indexOf("cart") !== -1) { 1805 success_error_alert('error', resp.message, ".payment_response"); 1806 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 1807 } else if (path.indexOf("wallet") !== -1) { 1808 success_error_alert('error', resp.message, "#wallet_topup_form .payment_response"); 1809 $(".topup_wallet_confirm").removeAttr("disabled"); 1810 } else if (path.indexOf("subscription") !== -1) { 1811 success_error_alert('error', resp.message, "#subscription_payment_form .payment_response"); 1812 $(".subscription_confirm_btn").removeAttr("disabled"); 1813 } else if ((tip_for_past_order != undefined) && (tip_for_past_order == 1)) { 1814 success_error_alert('error', resp.message, "#wallet_topup_form .payment_response"); 1815 $(".topup_wallet_confirm").removeAttr("disabled"); 1816 } else if ((cabbookingwallet != undefined) && (cabbookingwallet == 1)) { 1817 success_error_alert('error', resp.message, "#wallet_topup_form .payment_response"); 1818 $(".topup_wallet_confirm").removeAttr("disabled"); 1819 } 1820 } 1821 }, 1822 error: function (error) { 1823 var response = $.parseJSON(error.responseText); 1824 if (path.indexOf("cart") !== -1) { 1825 success_error_alert('error', response.message, ".payment_response"); 1826 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 1827 } else if (path.indexOf("wallet") !== -1) { 1828 success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 1829 $(".topup_wallet_confirm").removeAttr("disabled"); 1830 } else if (path.indexOf("subscription") !== -1) { 1831 success_error_alert('error', response.message, "#subscription_payment_form .payment_response"); 1832 $(".subscription_confirm_btn").removeAttr("disabled"); 1833 } 1834 } 1835 }); 1836} 1837 1838function paymentViaPaypal() { 1839 let total_amount = 0; 1840 let tip = 0; 1841 let tipElement = $("#cart_tip_amount"); 1842 let cartElement = $("input[name='cart_total_payable_amount']"); 1843 let walletElement = $("input[name='wallet_amount']"); 1844 let ajaxData = {}; 1845 if (cartElement.length > 0) { 1846 total_amount = cartElement.val(); 1847 tip = tipElement.val(); 1848 ajaxData.tip = tip; 1849 } else if (walletElement.length > 0) { 1850 total_amount = walletElement.val(); 1851 } 1852 1853 ajaxData.amount = total_amount; 1854 ajaxData.returnUrl = path; 1855 ajaxData.cancelUrl = path; 1856 1857 if (typeof tip_for_past_order !== 'undefined') { 1858 if (tip_for_past_order != undefined && tip_for_past_order == 1) { 1859 let order_number = $("#order_number").val(); 1860 ajaxData.order_number = order_number; 1861 order_number = order_number; 1862 } 1863 } 1864 1865 1866 $.ajax({ 1867 type: "POST", 1868 dataType: 'json', 1869 url: payment_paypal_url, 1870 data: ajaxData, 1871 success: function (response) { 1872 if (response.status == "Success") { 1873 window.location.href = response.data; 1874 } else { 1875 if (cartElement.length > 0) { 1876 success_error_alert('error', response.message, ".payment_response"); 1877 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 1878 } else if (walletElement.length > 0) { 1879 success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 1880 $(".topup_wallet_confirm").removeAttr("disabled"); 1881 } 1882 } 1883 }, 1884 error: function (error) { 1885 var response = $.parseJSON(error.responseText); 1886 if (cartElement.length > 0) { 1887 success_error_alert('error', response.message, ".payment_response"); 1888 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 1889 } else if (walletElement.length > 0) { 1890 success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 1891 $(".topup_wallet_confirm").removeAttr("disabled"); 1892 } 1893 } 1894 }); 1895} 1896 1897function paymentViaMastercard(paymentMehod, order) { 1898 const walletElement = $('input[name="wallet_amount"]'); 1899 const cartElement = $("input[name='cart_total_payable_amount']"); 1900 const subscriptionElement = $('input[name="subscription_amount"]'); 1901 const subscriptionIdElement = $('#subscription_payment_form #subscription_id'); 1902 1903 let ajaxData = [{ name: 'payment_from', value: paymentMehod }]; 1904 let total_amount; 1905 1906 switch (paymentMehod) { 1907 case 'wallet': 1908 total_amount = walletElement.val(); 1909 if (typeof tip_for_past_order !== 'undefined' && tip_for_past_order == 1) { 1910 ajaxData[0].value = 'tip'; 1911 ajaxData.push({ name: 'order_number', value: $("#order_number").val() }); 1912 } 1913 break; 1914 1915 case 'cart': 1916 ajaxData.push({ name: 'order_number', value: order['order_number'] }); 1917 total_amount = cartElement.val(); 1918 break; 1919 case 'subscription': 1920 ajaxData.push({ name: 'subscription_id', value: subscriptionIdElement.val() }); 1921 total_amount = subscriptionElement.val(); 1922 break; 1923 1924 case 'pickup_delivery': 1925 total_amount = order.total_amount; 1926 ajaxData.push({ name: 'order_number', value: order.order_number }); 1927 break; 1928 default: throw new Error('unknown payment method'); 1929 } 1930 1931 ajaxData.push({ name: 'amount', value: total_amount }); 1932 1933 $.ajax({ 1934 type: 'POST', 1935 dataType: 'json', 1936 data: ajaxData, 1937 url: mastercard_create_session_url, 1938 success({ session }) { 1939 const { id } = session; 1940 console.log(id); 1941 Checkout.configure({ 1942 session: { id } 1943 }) 1944 Checkout.showPaymentPage(); 1945 }, 1946 }); 1947} 1948 1949function paymentViaRazorpay_wallet(address_id, payment_option_id) { 1950 let walletElement = $("input[name='wallet_amount']"); 1951 let subscriptionElement = $("input[name='subscription_amount']"); 1952 let total_amount = 0; 1953 let ajaxData = []; 1954 if (path.indexOf("wallet") !== -1) { 1955 total_amount = walletElement.val(); 1956 // ajaxData.payment_from = 'wallet'; 1957 ajaxData.push({ name: 'payment_from', value: 'wallet' }); 1958 } else if (path.indexOf("subscription") !== -1) { 1959 total_amount = subscriptionElement.val(); 1960 ajaxData = $("#subscription_payment_form").serializeArray(); 1961 ajaxData.push({ name: 'payment_from', value: 'subscription' }); 1962 } else if ((tip_for_past_order != undefined) && (tip_for_past_order == 1)
1962) { 1963 total_amount = walletElement.val(); 1964 ajaxData.push( 1965 { name: 'payment_from', value: 'tip' }, 1966 { name: 'order_number', value: $("#order_number").val() } 1967 ); 1968 } 1969 ajaxData.push( 1970 { name: 'amount', value: total_amount }, 1971 { name: 'returnUrl', value: path } 1972 ); 1973 ajaxData.push({ name: 'payment_option_id', value: payment_option_id }); 1974 1975 $.ajax({ 1976 type: "POST", 1977 dataType: 'json', 1978 url: payment_razorpay_url, 1979 data: ajaxData, 1980 success: function (response) { 1981 if (response.status == "Success") { 1982 razorpay_options.amount = response.data.amount; 1983 razorpay_options.order_id = response.data.order_id; 1984 razorpay_options.currency = response.data.currency; 1985 $('#proceed_to_pay_modal').hide(); 1986 razourPayView(response.data); 1987 } 1988 } 1989 }); 1990} 1991//totalpay 1992function paymentViaTotalpay(address_id, payment_option_id, order) { 1993 let walletElement = $("input[name='wallet_amount']"); 1994 let subscriptionElement = $("input[name='subscription_amount']"); 1995 let total_amount = 0; 1996 let ajaxData = []; 1997 1998 if (path.indexOf("wallet") !== -1) { 1999 total_amount = walletElement.val(); 2000 ajaxData.push({ name: 'payment_from', value: 'wallet' }); 2001 } else if (path.indexOf("cart") !== -1) { 2002 ajaxData.push({ name: 'payment_from', value: 'cart' }, 2003 { name: 'order_number', value: order['order_number'] } 2004 ); 2005 } else if (path.indexOf("subscription") !== -1) { 2006 total_amount = subscriptionElement.val(); 2007 ajaxData = $("#subscription_payment_form").serializeArray(); 2008 ajaxData.push({ name: 'payment_from', value: 'subscription' }); 2009 } else if (typeof tip_for_past_order !== 'undefined' && tip_for_past_order == 1) { 2010 total_amount = walletElement.val(); 2011 ajaxData.push( 2012 { name: 'payment_from', value: 'tip' }, 2013 { name: 'order_number', value: $("#order_number").val() } 2014 ); 2015 } 2016 2017 ajaxData.push 2018 ( 2019 { name: 'amount', value: total_amount }, 2020 { name: 'returnUrl', value: path }, 2021 { name: 'payment_option_id', value: payment_option_id } 2022 ); 2023 $.ajax({ 2024 type: "POST", 2025 dataType: 'json', 2026 url: pyment_totalpay_url, 2027 data: ajaxData, 2028 success: function (response) { 2029 if (response.status == "Success") { 2030 let paymentUrl = response.payment_url; 2031 window.location.href = paymentUrl; 2032 } 2033 } 2034 }); 2035} 2036//totalpay Ends 2037 2038//hitpay Pg starts 2039function paymentViaHitpay(address_id, payment_option_id, order) { 2040 let walletElement = $("input[name='wallet_amount']"); 2041 let subscriptionElement = $("input[name='subscription_amount']"); 2042 let total_amount = 0; 2043 let tip = 0; 2044 let tipElement = $("#cart_tip_amount"); 2045 let cartElement = $("input[name='cart_total_payable_amount']"); 2046 let ajaxData = []; 2047 if (path.indexOf("cart") !== -1) { 2048 payment_form = 'cart'; 2049 total_amount = cartElement.val(); 2050 tip = tipElement.val(); 2051 ajaxData.push( 2052 { name: 'tip', value: tip }, 2053 { name: 'order_number', value: order.order_number }, 2054 { name: 'payment_from', value: payment_form } 2055 ); 2056 2057 } 2058 else if (path.indexOf("wallet") !== -1) { 2059 total_amount = walletElement.val(); 2060 ajaxData.push({ name: 'payment_from', value: 'wallet' }); 2061 } else if (path.indexOf("cart") !== -1) { 2062 ajaxData.push({ name: 'payment_from', value: 'cart' }, 2063 { name: 'order_number', value: order['order_number'] } 2064 ); 2065 } else if (path.indexOf("subscription") !== -1) { 2066 payment_form = 'subscription'; 2067 total_amount = subscriptionElement.val(); 2068 ajaxData = $("#subscription_payment_form").serializeArray(); 2069 2070 ajaxData.push({ name: 'payment_from', value: payment_form }); 2071 console.log(ajaxData); 2072 } else if (typeof tip_for_past_order !== 'undefined' && tip_for_past_order == 1) { 2073 total_amount = walletElement.val(); 2074 ajaxData.push( 2075 { name: 'payment_from', value: 'tip' }, 2076 { name: 'order_number', value: $("#order_number").val() } 2077 ); 2078 } 2079 2080 ajaxData.push 2081 ( 2082 { name: 'amount', value: total_amount }, 2083 { name: 'returnUrl', value: path }, 2084 { name: 'payment_option_id', value: payment_option_id } 2085 ); 2086 2087 console.log(payment_hitpay_url); 2088 $.ajax({ 2089 type: "POST", 2090 dataType: 'json', 2091 url: payment_hitpay_url, 2092 data: ajaxData, 2093 success: function (response) { 2094 if (response.status == "Success") { 2095 console.log(response); 2096 let paymentUrl = response.payment_url; 2097 window.location.href = paymentUrl; 2098 } 2099 }, 2100 error: function (xrh, error, h) { 2101 2102 console.log(xrh, error, h); 2103 } 2104 2105 }); 2106} 2107 2108 2109//The Thawani Pg starts 2110function paymentViaThawanipg(address_id, payment_option_id, order) { 2111 let walletElement = $("input[name='wallet_amount']"); 2112 let subscriptionElement = $("input[name='subscription_amount']"); 2113 let total_amount = 0; 2114 let ajaxData = []; 2115 2116 if (path.indexOf("wallet") !== -1) { 2117 total_amount = walletElement.val(); 2118 ajaxData.push({ name: 'payment_from', value: 'wallet' }); 2119 } else if (path.indexOf("cart") !== -1) { 2120 total_amount = order['total_amount']; 2121 ajaxData.push({ name: 'payment_from', value: 'cart' }, 2122 { name: 'order_number', value: order['order_number'] }, 2123 ); 2124 } else if (path.indexOf("subscription") !== -1) { 2125 total_amount = subscriptionElement.val(); 2126 ajaxData = $("#subscription_payment_form").serializeArray(); 2127 ajaxData.push({ name: 'payment_from', value: 'subscription' }); 2128 } else if (typeof tip_for_past_order !== 'undefined' && tip_for_past_order == 1) { 2129 total_amount = walletElement.val(); 2130 ajaxData.push( 2131 { name: 'payment_from', value: 'tip' }, 2132 { name: 'order_number', value: $("#order_number").val() } 2133 ); 2134 } 2135 2136 ajaxData.push 2137 ( 2138 { name: 'amount', value: total_amount }, 2139 { name: 'returnUrl', value: path }, 2140 { name: 'payment_option_id', value: payment_option_id } 2141 ); 2142 $.ajax({ 2143 type: "POST", 2144 dataType: 'json', 2145 url: payment_thawani_url, 2146 data: ajaxData, 2147 success: function (response) { 2148 if (response.status == "Success") { 2149 let paymentUrl = response.payment_url; 2150 window.location.href = paymentUrl; 2151 } 2152 } 2153 }); 2154} 2155//Thawani Pg Ends Here Ends 2156function paymentSuccessViaPaypal(amount, token, payer_id, path, tip = 0, order_number = 0) { 2157 let address_id = 0; 2158 var currentUrl = window.location.origin; 2159 var paypalCompletePurchaseUrl = currentUrl + "/payment/paypal/CompletePurchase"; 2160 if (path.indexOf("cart") !== -1) { 2161 // $('#order_placed_btn').trigger('click'); 2162 // $('#v-pills-paypal-tab').trigger('click'); 2163 $("#order_placed_btn, .proceed_to_pay").attr("disabled", true); 2164 address_id = $("input:radio[name='address_id']:checked").val(); 2165 } else if (path.indexOf("wallet") !== -1) { 2166 // $('#topup_wallet_btn').trigger('click'); 2167 // $('#wallet_topup_form #radio-paypal').prop("checked", true); 2168 $("#topup_wallet_btn, .topup_wallet_confirm").attr("disabled", true); 2169 } else if (path.indexOf("orders") !== -1) { 2170 // $('#topup_wallet_btn').trigger('click'); 2171 // $('#wallet_topup_form #radio-paypal').prop("checked", true); 2172 $("#topup_wallet_btn, .topup_wallet_confirm").attr("disabled", true); 2173 } 2174 $.ajax({ 2175 type: "GET", 2176 dataType: 'json', 2177 url: paypalCompletePurchaseUrl, 2178 data: { 'amount': amount, 'token': token, 'PayerID': payer_id }, 2179 success: function (response) { 2180 if (response.status == "Success") { 2181 if (path.indexOf("details") !== -1) { 2182 paypalDebitTransaction(amount, 3, response.data); 2183 } else if (path.indexOf("cart") !== -1) { 2184 placeOrder(address_id, 3, response.data, tip); 2185 } else if (path.indexOf("wallet") !== -1) { 2186 creditWallet(amount, 3, response.data); 2187 } else if (path.indexOf("orders") !== -1) { 2188 creditTipAfterOrder(amount, 3, response.data, order_number); 2189 } else if ((cabbookingwallet != undefined) && (cabbookingwallet == 1)
2189) { 2190 creditWallet(amount, 3, response.data); 2191 } 2192 } else { 2193 $('.spinner-overlay').hide(); 2194 if (path.indexOf("cart") !== -1) { 2195 // success_error_alert('error', response.message, "#paypal-payment-form .payment_response"); 2196 $(".cart_response").removeClass('d-none'); 2197 success_error_alert('error', response.message, ".cart_response"); 2198 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2199 } else if (path.indexOf("wallet") !== -1) { 2200 // success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 2201 ("#wallet_response .message").removeClass('d-none'); 2202 success_error_alert('error', response.message, "#wallet_response .message"); 2203 $("#topup_wallet_btn, .topup_wallet_confirm").removeAttr("disabled"); 2204 } else if ((cabbookingwallet != undefined) && (cabbookingwallet == 1)) { 2205 // success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 2206 ("#wallet_response .message").removeClass('d-none'); 2207 success_error_alert('error', response.message, "#wallet_response .message"); 2208 $("#topup_wallet_btn, .topup_wallet_confirm").removeAttr("disabled"); 2209 } 2210 } 2211 }, 2212 error: function (error) { 2213 $('.spinner-overlay').hide(); 2214 var response = $.parseJSON(error.responseText); 2215 if (path.indexOf("cart") !== -1) { 2216 // success_error_alert('error', response.message, "#paypal-payment-form .payment_response"); 2217 $(".cart_response").removeClass('d-none'); 2218 success_error_alert('error', response.message, ".cart_response"); 2219 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2220 } else if (path.indexOf("wallet") !== -1) { 2221 // success_error_alert('error', response.message, "#wallet_topup_form .payment_response"); 2222 ("#wallet_response .message").removeClass('d-none'); 2223 success_error_alert('error', response.message, "#wallet_response .message"); 2224 $("#topup_wallet_btn, .topup_wallet_confirm").removeAttr("disabled"); 2225 } 2226 } 2227 }); 2228} 2229 2230window.placeOrder = function placeOrder(address_id = 0, payment_option_id, transaction_id = 0, tip = 0, delivery_type = 'D', other_taxes_string = '', total_amount = '') { 2231 var task_type = $("input[name='task_type']").val(); 2232 var schedule_dt = $("#schedule_datetime").val(); 2233 var slot = $("#slot").val(); 2234 var path_from_cart = $("#path_from_cart").val(); 2235 if (business_type == 'laundry' && scheduling_with_slots == 1) { 2236 var schedule_dropoff_slot = $("#schedule_dropoff_slot").val(); 2237 } else { 2238 var schedule_dropoff_slot = null; 2239 } 2240 var is_gift = $('#is_gift:checked').val() ?? 0; 2241 var total_fixed_fee_amount = $("input[name='total_fixed_fee_amount']").val() ?? 0; 2242 2243 if ((task_type == 'schedule') && (schedule_dt == '')) { 2244 $("#proceed_to_pay_modal").modal('hide'); 2245 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2246 success_error_alert('error', 'Schedule date time is required', ".cart_response"); 2247 return false; 2248 } 2249 2250 2251 $.ajax({ 2252 type: "POST", 2253 dataType: 'json', 2254 url: place_order_url, 2255 data: { path_from_cart: path_from_cart, address_id: address_id, payment_option_id: payment_option_id, transaction_id: transaction_id, tip: tip, task_type: task_type, schedule_dt: schedule_dt, is_gift: is_gift, delivery_type: delivery_type, slot: slot, total_fixed_fee_amount: total_fixed_fee_amount, other_taxes_string: other_taxes_string, schedule_dropoff_slot: schedule_dropoff_slot, is_postpay: post_pay_edit_order, total_amount: total_amount }, 2256 success: function (response) { 2257 if (response.status == "Success") { 2258 2259 setTimeout(function () { 2260 window.location.href = `${base_url}/order/success/${response.data.id}`; 2261 }, 1000) 2262 } else { 2263 if ($(".cart_response").length > 0) { 2264 $(".cart_response").removeClass("d-none"); 2265 success_error_alert( 2266 "error", 2267 response.message, 2268 ".cart_response" 2269 ); 2270 $("#order_placed_btn, .proceed_to_pay").removeAttr( 2271 "disabled" 2272 ); 2273 } 2274 } 2275 }, 2276 error: function (error) { 2277 var response = $.parseJSON(error.responseText); 2278 // success_error_alert('error', response.message, ".payment_response"); 2279 if ($('.cart_response').length > 0) { 2280 $(".cart_response").removeClass('d-none'); 2281 success_error_alert('error', response.message, ".cart_response"); 2282 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2283 } 2284 if (response.code == 404) { 2285 setTimeout(function () { 2286 window.location.reload(); 2287 }, 2000) 2288 } 2289 2290 }, 2291 complete: function (data) { 2292 $('.spinner-overlay').hide(); 2293 } 2294 }); 2295} 2296 2297window.placeOrderBeforePayment = function placeOrderBeforePayment(address_id = 0, payment_option_id, tip = 0) { 2298 var task_type = $("input[name='task_type']").val(); 2299 var schedule_dt = $("#schedule_datetime").val(); 2300 var slot = $("#slot").val(); 2301 var other_taxes_string = $("#other_taxes_string").val();
2302 var is_gift = $('#is_gift:checked').val() ?? 0; 2303 var path_from_cart = $("#path_from_cart").val(); 2304 // place_order_url=domain+/user/ 2305 if ((task_type == 'schedule') && (schedule_dt == '')) { 2306 $("#proceed_to_pay_modal").modal('hide'); 2307 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2308 success_error_alert('error', 'Schedule date time is required', ".cart_response"); 2309 return false; 2310 } 2311 var orderResponse = ''; 2312 2313 $.ajax({ 2314 type: "POST", 2315 dataType: 'json', 2316 async: false, 2317 url: place_order_url, 2318 data: { path_from_cart: path_from_cart, address_id: address_id, payment_option_id: payment_option_id, tip: tip, task_type: task_type, schedule_dt: schedule_dt, is_gift: is_gift, slot: slot, other_taxes_string: other_taxes_string }, 2319 success: function (response) { 2320 if (response.status == "Success") { 2321 orderResponse = response.data; 2322 // return orderResponse; 2323 } else { 2324 if ($(".payment_response").length > 0) { 2325 $(".payment_response").removeClass("d-none"); 2326 success_error_alert("error", response.message, ".payment_response"); 2327 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2328 } 2329 } 2330 }, 2331 error: function (error) { 2332 2333 var response = $.parseJSON(error.responseText); 2334 // success_error_alert('error', response.message, ".payment_response"); 2335 if ($('.payment_response').length > 0) { 2336 $(".payment_response").removeClass('d-none'); 2337 success_error_alert('error', response.message, ".payment_response"); 2338 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 2339 } 2340 }, 2341 complete: function (data) { 2342 $('.spinner-overlay').hide(); 2343 } 2344 }); 2345 return orderResponse; 2346} 2347$(document).on("click", ".proceed_to_pay", function () { 2348 let payment_option_id = $("#cart_payment_form input[name='cart_payment_method']:checked").val(); 2349 if (payment_option_id == undefined) { 2350 success_error_alert('error', 'Please select payment option', ".payment_response"); 2351 return false; 2352 } 2353 2354 if (payment_option_id == 49) { 2355 cno = $('#plugnpay-card-element').val(); 2356 dt = $('#plugnpay-date-element').val(); 2357 cv = $('#plugnpay-cvv-element').val(); 2358 if ((cno == undefined || dt == undefined || cv == undefined) || (cno == '' || dt == '' || cv == '')) { 2359 success_error_alert('error', 'Please Fill Details', "#plugnpay_card_error"); 2360 return false; 2361 } 2362 } 2363 2364 if (payment_option_id == 50) { 2365 cno = $('#azul-card-element').val(); 2366 dt = $('#azul-date-element').val(); 2367 cv = $('#azul-cvv-element').val(); 2368 2369 $("#azul_card_error").html(); 2370 if (!creditCardValidation()) { 2371 if ((cno == undefined || dt == undefined || cv == undefined) || (cno == '' || dt == '' || cv == '')) { 2372 success_error_alert('error', 'Please Fill Details', "#azul_card_error"); 2373 return false; 2374 } 2375 } 2376 } 2377 2378 if (payment_option_id == 58) { 2379 var expData = $('#date-element-powertrans').val(); 2380 var [expMonth, expYear] = [expData.slice(2), expData.slice(0, 2)] 2381 var newDate = expMonth + '/' + expYear; 2382 cardJson = { 2383 'cno': $('#card-element-powertrans').val(), 2384 'dt': newDate, 2385 'cv': $('#cvv-element-powertrans').val(), 2386 'name': 'powertrans', 2387 } 2388 if (cardValidation(cardJson)) { 2389 console.log('Credit card information is valid.'); 2390 } 2391 else { 2392 success_error_alert('error', 'Invalid credit card information', "#powertrans_card_error"); 2393 return false; 2394 } 2395 } 2396 2397 $('#proceed_to_pay_loader').show(); 2398 // startLoader('body',"{{getClientPreferenceDetail()->wb_color_rgb}}"); 2399 $("#order_placed_btn, .proceed_to_pay").attr("disabled", true); 2400 var delivery_type = $("input:radio.delivery-fee:checked").attr('data-dcode'); 2401 var other_taxes_string = ''; 2402 if ($("#other_taxes_string").val() != null) { 2403 other_taxes_string = $("#other_taxes_string").val(); 2404 } 2405 2406 let address_id = $("input:radio[name='address_id']:checked").val(); 2407 2408 if ((vendor_type == 'delivery') && ((address_id == '') || (address_id < 1) || ($("input[name='address_id']").length < 1))) { 2409 success_error_alert('error', 'Please add a valid address to continue', ".payment_response"); 2410 return false;
2411 } 2412 2413 let tip = $("#cart_tip_amount").val(); 2414 //let cartElement = $("input[name='cart_total_payable_amount']"); 2415 let total_amount = $("input[name='cart_total_payable_amount']").val(); 2416 // alert(total_amount); 2417 // return false; 2418 if (payment_option_id == 1 || payment_option_id == 38 || post_pay_edit_order == 1) { 2419 placeOrder(address_id, payment_option_id, '', tip, delivery_type, other_taxes_string, total_amount); 2420 } else { 2421 cartPaymentOptions(payment_option_id, address_id, tip, delivery_type); 2422 } 2423}); 2424 2425 2426 2427window.creditWallet = function creditWallet(amount, payment_option_id, transaction_id) { 2428 2429 $.ajax({ 2430 type: "POST", 2431 dataType: 'json', 2432 url: credit_wallet_url, 2433 data: { wallet_amount: amount, payment_option_id: payment_option_id, transaction_id: transaction_id }, 2434 success: function (response) { 2435 // var currentUrl = window.location.href; 2436 location.href = path; 2437 if (response.status == "Success") { 2438 // $("#topup_wallet").modal("hide"); 2439 // $(".table.wallet-transactions table-body").html(''); 2440 $(".wallet_balance").text(response.data.wallet_balance); 2441 success_error_alert('success', response.message, "#wallet_response"); 2442 // let wallet_transactions_template = _.template($('#wallet_transactions_template').html()); 2443 // $(".table.wallet-transactions table-body").append(wallet_transactions_template({wallet_transactions:response.data.transactions})); 2444 } else { 2445 $("#wallet_response .message").removeClass('d-none'); 2446 success_error_alert('error', response.message, "#wallet_response .message"); 2447 $("#topup_wallet_btn, .topup_wallet_confirm").attr("disabled", false); 2448 } 2449 }, 2450 error: function (error) { 2451 var response = $.parseJSON(error.responseText); 2452 $("#wallet_response .message").removeClass('d-none'); 2453 success_error_alert('error', response.message, "#wallet_response .message"); 2454 $("#topup_wallet_btn, .topup_wallet_confirm").removeAttr("disabled"); 2455 }, 2456 complete: function (data) { 2457 $('.spinner-overlay').hide(); 2458 } 2459 }); 2460} 2461 2462$(document).ready(function () { 2463 $.ajaxSetup({ 2464 headers: { 2465 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') 2466 } 2467 }); 2468 let queryString = window.location.search; 2469 let path = window.location.pathname; 2470 let urlParams = new URLSearchParams(queryString); 2471 // if ((urlParams.get('gateway') == 'paylink') && urlParams.has('checkout')) { 2472 // $('.spinner-overlay').show(); 2473 2474 // if (urlParams.has('checkout')) { 2475 2476 // transaction_id = urlParams.get('checkout'); 2477 // } 2478 // if (urlParams.has('amount')) { 2479 2480 // total_amount = urlParams.get('amount'); 2481 // } 2482 2483 // creditWallet(urlParams.get('amount'), 9, urlParams.get('checkout')); 2484 // } 2485 if ((urlParams.get('gateway') == 'razorpay') && urlParams.has('checkout')) { 2486 $('.spinner-overlay').show(); 2487 2488 if (urlParams.has('checkout')) { 2489 2490 transaction_id = urlParams.get('checkout'); 2491 } 2492 if (urlParams.has('amount')) { 2493 2494 total_amount = urlParams.get('amount'); 2495 } 2496 2497 creditWallet(urlParams.get('amount') / 10000, 9, urlParams.get('checkout')); 2498 } 2499}); 2500 2501 2502window.userSubscriptionPurchase = function userSubscriptionPurchase(amount, payment_option_id, transaction_id) { 2503 var id = $("#subscription_payment_form #subscription_id").val(); 2504 if (id != '') { 2505 $.ajax({ 2506 type: "POST", 2507 dataType: 'json', 2508 url: user_subscription_purchase_url.replace(":id", id), 2509 data: { amount: amount, payment_option_id: payment_option_id, transaction_id: transaction_id }, 2510 success: function (response) { 2511 if (response.status == "Success") { 2512 location.href = path; 2513 } else { 2514 success_error_alert('error', response.message, "#subscription_payment_form .payment_response"); 2515 $(".subscription_confirm_btn").attr("disabled", false); 2516 } 2517 }, 2518 error: function (error) { 2519 var response = $.parseJSON(error.responseText); 2520 success_error_alert('error', response.message, "#subscription_payment_form .payment_response"); 2521 $(".subscription_confirm_btn").removeAttr("disabled"); 2522 } 2523 }); 2524 } else { 2525 success_error_alert('error', 'Invalid data', "#wallet_topup_form .payment_response"); 2526 $(".topup_wallet_confirm").removeAttr("disabled"); 2527 } 2528} 2529 2530$(document).on("click", ".topup_wallet_confirm", function () { 2531 var wallet_amount = $('#wallet_amount').val(); 2532 let payment_option_id = $('#wallet_payment_methods input[name="wallet_payment_method"]:checked').data('payment_option_id'); 2533 if ((wallet_amount == undefined || wallet_amount <= 0) && (amount_required_error_msg != undefined)) { 2534 $('#wallet_amount_error').html(amount_required_error_msg); 2535 return false;
2536 } else { 2537 $('#wallet_amount_error').html(''); 2538 } 2539 2540 if (payment_option_id == 49) { 2541 cno = $('#plugnpay-card-element').val(); 2542 dt = $('#plugnpay-date-element').val(); 2543 cv = $('#plugnpay-cvv-element').val(); 2544 if ((cno == undefined || dt == undefined || cv == undefined) || (cno == '' || dt == '' || cv == '')) { 2545 success_error_alert('error', 'Please Fill Details', ".payment_response"); 2546 return false; 2547 } 2548 } 2549 2550 if (payment_option_id == 58) { 2551 var expData = $('#date-element-powertrans').val(); 2552 var [expMonth, expYear] = [expData.slice(2), expData.slice(0, 2)] 2553 var newDate = expMonth + '/' + expYear; 2554 cardJson = { 2555 'cno': $('#card-element-powertrans').val(), 2556 'dt': newDate, 2557 'cv': $('#cvv-element-powertrans').val(), 2558 'name': 'powertrans', 2559 } 2560 if (cardValidation(cardJson)) { 2561 console.log('Credit card information is valid.'); 2562 } 2563 else { 2564 success_error_alert('error', 'Invalid credit card information', "#powertrans_card_error"); 2565 return false; 2566 } 2567 2568 } 2569 2570 if ((payment_option_id == undefined || payment_option_id <= 0) && (payment_method_required_error_msg != undefined)) { 2571 $('#wallet_payment_methods_error').html(payment_method_required_error_msg); 2572 return false; 2573 } else { 2574 $('#wallet_payment_methods_error').html(''); 2575 } 2576 $(".topup_wallet_confirm").attr("disabled", true); 2577 // $('#topup_wallet').modal('hide'); 2578 walletPaymentOPtions(payment_option_id); 2579 2580}); 2581 2582$(document).on("click", ".remove_promo_code_btn", function () {
2583 let cart_id = $(this).data('cart_id'); 2584 let coupon_id = $(this).data('coupon_id'); 2585 $.ajax({ 2586 type: "POST", 2587 dataType: 'json', 2588 url: promo_code_remove_url, 2589 data: { coupon_id: coupon_id, cart_id: cart_id }, 2590 success: function (response) { 2591 if (response.status == "Success") { 2592 cartHeader(); 2593 } 2594 } 2595 }); 2596}); 2597$(document).on("click", ".promo_code_list_btn", function () { 2598 let cart_product_ids = $("input[name='cart_product_ids[]']").map(function () { return $(this).val(); }).get();; 2599 let amount = $(this).attr('data-amount'); 2600 let cart_id = $(this).attr('data-cart_id'); 2601 let vendor_id = $(this).attr('data-vendor_id'); 2602 $(".invalid-feedback.manual_promocode").html(""); 2603 $.ajax({ 2604 type: "POST", 2605 dataType: 'json', 2606 url: promocode_list_url, 2607 data: { vendor_id: vendor_id, amount: amount, cart_id: cart_id, cart_product_ids: cart_product_ids }, 2608 success: function (response) { 2609 $("#promo_code_list_main_div").html(''); 2610 $(document).find('.manual_promocode_input').val(""); 2611 if (response.status == "Success") { 2612 $('.validate_promo_code_btn').attr('data-vendor_id', vendor_id); 2613 $('.validate_promo_code_btn').attr('data-cart_id', cart_id); 2614 $('.validate_promo_code_btn').attr('data-amount', amount); 2615 $('#refferal-modal').modal('show'); 2616 if (response.data.length != 0) { 2617 let promo_code_template = _.template($('#promo_code_template').html()); 2618 $("#promo_code_list_main_div").append(promo_code_template({ promo_codes: response.data, vendor_id: vendor_id, cart_id: cart_id, amount: amount })); 2619 } else { 2620 // let no_promo_code_template = _.template($('#no_promo_code_template').html()); 2621 // $("#promo_code_list_main_div").append(no_promo_code_template()); 2622 } 2623 } 2624 } 2625 }); 2626}); 2627$(document).on("click", ".apply_promo_code_btn", function () { 2628 let amount = $(this).data('amount'); 2629 let cart_id = $(this).data('cart_id'); 2630 let vendor_id = $(this).data('vendor_id'); 2631 let coupon_id = $(this).data('coupon_id'); 2632 $.ajax({ 2633 type: "POST", 2634 dataType: 'json', 2635 url: apply_promocode_coupon_url, 2636 data: { cart_id: cart_id, vendor_id: vendor_id, coupon_id: coupon_id, amount: amount }, 2637 success: function (response) { 2638 if (response.status == "Success") { 2639 $('#refferal-modal').modal('hide'); 2640 cartHeader(); 2641 } 2642 }, 2643 error: function (reject) { 2644 if (reject.status === 422) { 2645 var message = $.parseJSON(reject.responseText); 2646 //alert(message.message); 2647 Swal.fire({ 2648 // title: "Warning!", 2649 text: message.message, 2650 icon: "error", 2651 button: "OK", 2652 }); 2653 } 2654 } 2655 }); 2656}); 2657$(document).on("click", ".remove-product", function () { 2658 let vendor_id = $(this).data('vendor_id'); 2659 let cartproduct_id = $(this).data('product'); 2660 productRemove(0, cartproduct_id, vendor_id); 2661}); 2662$(document).on("click", ".remove_product_via_cart", function () { 2663 $('#remove_item_modal').modal('show'); 2664 let vendor_id = $(this).data('vendor_id'); 2665 let cartproduct_id = $(this).data('product'); 2666 let product_id = $(this).data('product_id'); 2667 $('#remove_item_modal #product_id').val(product_id); 2668 $('#remove_item_modal #vendor_id').val(vendor_id); 2669 $('#remove_item_modal #cartproduct_id').val(cartproduct_id); 2670}); 2671$(document).on("click", "#remove_product_button", function () { 2672 $('#remove_item_modal').modal('hide'); 2673 let vendor_id = $('#remove_item_modal #vendor_id').val(); 2674 let product_id = $('#remove_item_modal #product_id').val(); 2675 let cartproduct_id = $('#remove_item_modal #cartproduct_id').val(); 2676 productRemove(product_id, cartproduct_id, vendor_id); 2677}); 2678 2679function capitalizeFirstLetter(string) { 2680 return string.charAt(0).toUpperCase() + string.slice(1); 2681} 2682 2683function initialize() { 2684 var input = document.getElementById('address'); 2685 if (input) { 2686 var autocomplete = new google.maps.places.Autocomplete(input); 2687 if (is_map_search_perticular_country) { 2688 autocomplete.setComponentRestrictions({ 'country': [is_map_search_perticular_country] }); 2689 } 2690 autocomplete.bindTo('bounds', bindMap); 2691 google.maps.event.addListener(autocomplete, 'place_changed', function () { 2692 var place = autocomplete.getPlace(); 2693 // document.getElementById('city').value = place.name; 2694 document.getElementById('longitude').value = place.geometry.location.lng(); 2695 document.getElementById('latitude').value = place.geometry.location.lat(); 2696 for (let i = 1; i < place.address_components.length; i++) { 2697 let mapAddress = place.address_components[i]; 2698 if (mapAddress.long_name != '') { 2699 let streetAddress = ''; 2700 if (mapAddress.types[0] == "street_number") { 2701 streetAddress += mapAddress.long_name; 2702 } 2703 if (mapAddress.types[0] == "route") { 2704 streetAddress += mapAddress.short_name; 2705 } 2706 if ($('#street').length > 0) { 2707 document.getElementById('street').value = streetAddress; 2708 } 2709 if (mapAddress.types[0] == "locality") { 2710 document.getElementById('city').value = mapAddress.long_name; 2711 } 2712 if (mapAddress.types[0] == "administrative_area_level_1") { 2713 document.getElementById('state').value = mapAddress.long_name; 2714 document.getElementById('state_code').value = mapAddress.short_name; 2715 } 2716 if (mapAddress.types[0] == "postal_code") { 2717 document.getElementById('pincode').value = mapAddress.long_name; 2718 } else { 2719 document.getElementById('pincode').value = ''; 2720 } 2721 if (mapAddress.types[0] == "country") { 2722 var country = document.getElementById('country'); 2723 if (typeof country.options != "undefined") { 2724 for (let i = 0; i < country.options.length; i++) { 2725 if (country.options[i].text.toUpperCase() == mapAddress.long_name.toUpperCase()) { 2726 country.value = country.options[i].value; 2727 break; 2728 } 2729 } 2730 } 2731 } 2732 } 2733 } 2734 }); 2735 setTimeout(function () { 2736 $(".pac-container").appendTo("#add_new_address_form .address-input-group"); 2737 }, 300); 2738 } 2739} 2740// initialize(); 2741// google.maps.event.addDomListener(window, 'load', initialize); 2742function cartTotalProductCount() {
2743 let cart_qty_total = 0; 2744 $(".shopping-cart li").each(function (index) { 2745 if ($(this).data('qty')) { 2746 cart_qty_total += $(this).data('qty'); 2747 2748 } 2749 }); 2750 if (cart_qty_total > 0) { 2751 $("#cart_qty_span").addClass("bg-cart-header"); 2752 $('#cart_qty_span, .cart_qty_cls').html(cart_qty_total).show(); 2753 } else { 2754 $("#cart_qty_span").removeClass("bg-cart-header"); 2755 $('#cart_qty_span, .cart_qty_cls').html(cart_qty_total).hide(); 2756 } 2757} 2758 2759function displayMapLocation(latitude, longitude, elementID) { 2760 2761 // Commented By Sujata 2762 var geocoder; 2763 geocoder = new google.maps.Geocoder(); 2764 var latlng = new google.maps.LatLng(latitude, longitude); 2765 2766 const map = new google.maps.Map(document.getElementById(elementID), { 2767 center: { lat: parseFloat(latitude), lng: parseFloat(longitude) }, 2768 zoom: 13 2769 }); 2770 2771 const marker = new google.maps.Marker({ 2772 map: map, 2773 position: { lat: parseFloat(latitude), lng: parseFloat(longitude) }, 2774 }); 2775 // End Comment 2776 2777 2778 // geocoder.geocode( 2779 // { 'latLng': latlng }, 2780 // function (results, status) { 2781 // if (status == google.maps.GeocoderStatus.OK) { 2782 // } 2783 // else { 2784 // $("#address-input").val("Geocoder failed due to: " + status); 2785 // } 2786 // } 2787 // ); 2788} 2789function checkIfInCart(v_p) { 2790 v_p.vendor_products.map((data) => { 2791 if (data.pvariant.id == $('#prod_variant_id').val()) { 2792 localStorage.setItem('in_cart', 'true'); 2793 } 2794 }) 2795} 2796function cartHeader(address_id = null) { 2797 $(".shopping-cart").html(""); 2798 $(".spinner-box").show(); 2799 OrderStorage.setStorageSingle('cartData', []); 2800 OrderStorage.setStorageSingle('cartProductCount', 0); 2801 OrderStorage.setStorageSingle('LongTermServiceAdded', ''); 2802 OrderStorage.setStorageSingle('RecurringBookingAdded', ''); 2803 OrderStorage.setStorageSingle('cartFirstProductId', ''); 2804 OrderStorage.setStorageSingle('cartAddressId', ''); 2805 $.ajax({ 2806 data: { address_id: address_id, schedule_date_delivery: $("#schedule_datetime").val() }, 2807 type: "get", 2808 dataType: 'json', 2809 url: cart_product_url, 2810 success: function (response) { 2811 if (response.status == "success") { 2812 if (response.wishListCount > 0) { 2813 $('.wishListCount').removeClass('fa-heart-o'); 2814 $('.wishListCount').addClass('fa-heart'); 2815 } else { 2816 $('.wishListCount').removeClass('fa-heart'); 2817 $('.wishListCount').addClass('fa-heart-o'); 2818 } 2819 $("#cart_table").html(''); 2820 $(".spinner-box").hide(); 2821 $("#mycart").html(response.mycart); 2822 2823 2824 // if(response.loggedIn == "true") { 2825 // $('.onhover-show-div').html(`<li> 2826 // <a href="/client/dashboard" data-lng="en">Control Panel</a> 2827 // </li> 2828 // <li> 2829 // <a href="/user/profile" data-lng="en">Profile</a> 2830 // </li> 2831 // <li> 2832 // <a href="/user/logout" data-lng="es">Logout</a> 2833 // </li>`); 2834 // } else{ 2835 // $('.onhover-show-div').html( `<li> 2836 // <a href="/user/login" data-lng="en">Login</a> 2837 // </li> 2838 // <li> 2839 // <a href="/user/register" data-lng="es">Register</a> 2840 // </li>`); 2841 // } 2842 //return true; 2843 var cart_details = response.cart_details; 2844 var client_preference_detail = response.client_preference_detail; 2845 var is_token_enable = response.is_token_enable; 2846 var token_val = response.token_val; 2847 if (cart_details != undefined) { 2848 // if((response.is_token_enable == 1) && (response.token_val > 0) ){ 2849 // response.token_val; 2850 // } 2851 OrderStorage.setStorageSingle('cartData', JSON.stringify(cart_details)); 2852 if (cart_details.products.length > 0) { 2853 if (cart_details.address_id != '') { 2854 $(`input:radio[name=address_id][value=${cart_details.address_id}]`).prop('checked', true); 2855 } 2856 OrderStorage.setStorageSingle('cartAddressId', cart_details.address_id); 2857 OrderStorage.setStorageSingle('cartProductCount', cart_details.products.length); 2858 OrderStorage.setStorageSingle('cartFirstProductId', cart_details.products[0].product_id); 2859 OrderStorage.setStorageSingle('LongTermServiceAdded', cart_details.products[0].is_long_term_service); 2860 OrderStorage.setStorageSingle('RecurringBookingAdded', cart_details.products[0].is_recurring_booking); 2861 OrderSessionStorage.setStorageSingle('dispatcher_agent_id', cart_details.products[0].dispatch_agent_id) 2862 //map array cart_details.products.map(checkIfInCart); 2863 var headerCartData = _.extend({ Helper: NumberFormatHelper }, { cart_details: cart_details, show_cart_url: show_cart_url, client_preference_detail: client_preference_detail, is_token_enable: is_token_enable, token_val: token_val }); 2864 2865 let header_cart_template = _.template($('#header_cart_template').html()); 2866 2867 $("#header_cart_main_ul").append(header_cart_template(headerCartData)); 2868 if (response.cart_details.totalQuantity > 0) { 2869 $('#expected_vendors').html(''); 2870 $('#expected_vendors').html(response.expected_vendor_html); 2871 2872 if (vendor_type != 'delivery' && vendor_type != 'on_demand') { 2873 var latitude = $('#latitude').val(); 2874 var longitude = $('#longitude').val();
2875 if ($('#vendor-address-map').length > 0) { 2876 displayMapLocation(latitude, longitude, 'vendor-address-map'); 2877 } 2878 } 2879 //initialize(); 2880 if (cart_details.deliver_status == 0) { 2881 // $("#order_placed_btn").attr("disabled", true); 2882 // $("#order_placed_btn").addClass("d-none"); 2883 } else { 2884 2885 $("#order_placed_btn").removeAttr("disabled"); 2886 $("#order_placed_btn").removeClass("d-none"); 2887 } 2888 //if(response.schedule_datetime!=null){ 2889 var schedule_datetime = ''; 2890 if (typeof $("#edit_order_schedule_datetime").val() != 'undefined' && $("#edit_order_schedule_datetime").val() != '' && typeof $('#edit_order_schedule_slot').val() != 'undefined' && $('#edit_order_schedule_slot').val() != '') { 2891 2892 var edit_order_schedule_datetime = $("#edit_order_schedule_datetime").val(); 2893 schedule_datetime = edit_order_schedule_datetime.split(" ")[0]; 2894 } else { 2895 schedule_datetime = $("#edit_order_schedule_datetime").val(); 2896 } 2897 2898 if (schedule_datetime != '' && schedule_datetime != undefined && typeof $("#schedule_datetime").val() != 'undefined') { 2899 2900 $("#schedule_datetime").val(schedule_datetime); 2901 $("#schedule_datetime").attr("value", $("#schedule_datetime").val()); 2902 $("#schedule_datetime").attr("max", $("#schedule_datetime").val()); 2903 $("#schedule_datetime").attr("min", $("#schedule_datetime").val()); 2904 $("#edit_order_schedule_datetime").val($("#schedule_datetime").val()); 2905 if (typeof $('#slot').val() != 'undefined' && typeof $('#edit_order_schedule_slot').val() != 'undefined') { 2906 $(".schedule_datetime").change(); 2907 $('#slot').val($('#edit_order_schedule_slot').val()); 2908 } 2909 $("#taskschedule").trigger('click'); 2910 } 2911 if (response.cart_error_message != '') { 2912 success_error_alert('error', response.cart_error_message, ".cart_response"); 2913 $("#order_placed_btn").attr("disabled", true); 2914 $("#order_placed_btn").addClass("d-none"); 2915 } 2916 //} 2917 2918 } 2919 cartTotalProductCount(); 2920 if ($("#header_cart_template_ondemand").length != 0) { 2921 $("#header_cart_main_ul_ondemand").html(''); 2922 let header_cart_template_ondemand = _.template($('#header_cart_template_ondemand').html()); 2923 var CartTemplateOndemandData = _.extend({ Helper: NumberFormatHelper }, { cart_details: cart_details, show_cart_url: show_cart_url }); 2924 $("#header_cart_main_ul_ondemand").removeClass('d-none'); 2925 2926 $("#header_cart_main_ul_ondemand").html(header_cart_template_ondemand(CartTemplateOndemandData)); 2927 $("#next-button-ondemand-2").show(); 2928 $('#placeorder_form_ondemand .left_box').html(''); 2929 $('#placeorder_form_ondemand .left_box').html(cart_details.left_section); 2930 initialize(); 2931 if (cart_details.deliver_status == 0) { 2932 2933 $("#order_placed_btn").attr("disabled", true); 2934 $("#order_placed_btn").addClass("d-none"); 2935 } else { 2936 2937 $("#order_placed_btn").removeAttr("disabled"); 2938 $("#order_placed_btn").removeClass("d-none"); 2939 } 2940 } 2941 2942 } else { 2943 if ($('#cart_main_page').length != 0) { 2944 $('#cart_main_page').html(''); 2945 let empty_cart_template = _.template($('#empty_cart_template').html()); 2946 $("#cart_main_page").append(empty_cart_template()); 2947 } 2948 if ($('.categories-product-list').length > 0) { 2949 $('#header_cart_main_ul_ondemand').html(''); 2950 let empty_cart_template = _.template($('#empty_cart_template').html()); 2951 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 2952 } 2953 if ($("#header_cart_template_ondemand").length != 0) { 2954 $('#header_cart_main_ul_ondemand').html(''); 2955 $("#header_cart_main_ul_ondemand").removeClass("d-none"); 2956 $("#header_cart_main_ul_ondemand").show(); 2957 let empty_cart_template = _.template($('#empty_cart_template').html()); 2958 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 2959 } 2960 } 2961 } else { 2962 if ($('#cart_main_page').length != 0) { 2963 $('#cart_main_page').html(''); 2964 let empty_cart_template = _.template($('#empty_cart_template').html()); 2965 $("#cart_main_page").append(empty_cart_template()); 2966 } 2967 if ($('.categories-product-list').length > 0) { 2968 $('#header_cart_main_ul_ondemand').html(''); 2969 let empty_cart_template = _.template($('#empty_cart_template').html()); 2970 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 2971 } 2972 if ($("#header_cart_template_ondemand").length != 0) { 2973 $('#header_cart_main_ul_ondemand').html(''); 2974 let empty_cart_template = _.template($('#empty_cart_template').html()); 2975 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 2976 } 2977 if ($("#header_cart_main_ul_ondemand").length != 0) { 2978 2979 $('#header_cart_main_ul_ondemand').html(''); 2980 $("#header_cart_main_ul_ondemand").removeClass("d-none"); 2981 $("#header_cart_main_ul_ondemand").show(); 2982 let empty_cart_template = _.template($('#empty_cart_template').html()); 2983 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 2984 } 2985 2986 } 2987 2988 $.each($('.vendor_schedule_slot'), function () { 2989 if ($(this).val() != '') { 2990 $responst = checkSlotAvailability(this); 2991 } 2992 }); 2993 } 2994 }, 2995 complete: function (data) { 2996 if ($("#cart_table").length > 0) { 2997 $(".spinner-box").hide(); 2998 $("#cart_table").show(); 2999 } 3000 3001 if ($("#header_cart_main_ul_ondemand").length > 0) { 3002 $(".spinner-box").hide(); 3003 $("#header_cart_main_ul_ondemand").show(); 3004 $(".number .qty-minus-ondemand .fa").removeAttr("class").addClass("fa fa-minus"); 3005 $(".number .qty-plus-ondemand .fa").removeAttr("class").addClass("fa fa-plus"); 3006 } 3007 3008 if ($(".number .fa-spinner fa-pulse").length > 0) { 3009 $(".number .qty-minus .fa").removeAttr("class").addClass("fa fa-minus"); 3010 $(".number .qty-plus .fa").removeAttr("class").addClass("fa fa-plus"); 3011 3012 } 3013 } 3014 }); 3015} 3016 3017 3018 3019function cartHeaderDilivery(address_id, code) { 3020 $(".shopping-cart").html(""); 3021 $(".spinner-box").show(); 3022 $.ajax({ 3023 data: { address_id: address_id, code: code }, 3024 type: "get", 3025 dataType: 'json', 3026 url: cart_product_url, 3027 success: function (response) { 3028 if (response.status == "success") { 3029 $("#cart_table").html(''); 3030 $(".spinner-box").hide(); 3031 var cart_details = response.cart_details; 3032 var client_preference_detail = response.client_preference_detail; 3033 if (response.cart_details.length != 0) { 3034 if (response.cart_details.products.length != 0) { 3035 3036 var headerCartData = _.extend({ Helper: NumberFormatHelper }, { cart_details: cart_details, show_cart_url: show_cart_url, client_preference_detail: client_preference_detail }); 3037 3038 let header_cart_template = _.template($('#header_cart_template').html()); 3039 $("#header_cart_main_ul").append(header_cart_template(headerCartData)); 3040 if ($('#cart_main_page').length != 0) { 3041 3042 // simplified mock of the helpers 3043 3044 var extendedData = _.extend({ Helper: NumberFormatHelper }, { cart_details: cart_details, client_preference_detail: client_preference_detail }); 3045 3046 let cart_template = _.template($('#cart_template').html()); 3047 $("#cart_table").append(cart_template(extendedData));
3048 $(".other_cart_products").html(''); 3049 let other_cart_products_template = _.template($('#other_cart_products_template').html()); 3050 $(".other_cart_products").append(other_cart_products_template(extendedData)); 3051 initializeSlider(); 3052 $('#placeorder_form .left_box').html(''); 3053 $('#placeorder_form .left_box').html(cart_details.left_section); 3054 if (vendor_type != 'delivery') { 3055 var latitude = $('#latitude').val(); 3056 var longitude = $('#longitude').val(); 3057 displayMapLocation(latitude, longitude, 'vendor-address-map'); 3058 } 3059 initialize(); 3060 if (cart_details.deliver_status == 0) { 3061 $("#order_placed_btn").attr("disabled", true); 3062 $("#order_placed_btn").addClass("d-none"); 3063 } else { 3064 $("#order_placed_btn").removeAttr("disabled"); 3065 $("#order_placed_btn").removeClass("d-none"); 3066 } 3067 } 3068 cartTotalProductCount(); 3069 3070 if ($("#header_cart_template_ondemand").length != 0) { 3071 $("#header_cart_main_ul_ondemand").html(''); 3072 3073 let header_cart_template_ondemand = _.template($('#header_cart_template_ondemand').html()); 3074 var CartTemplateOndemandData = _.extend({ Helper: NumberFormatHelper }, { cart_details: cart_details, show_cart_url: show_cart_url }); 3075 3076 $("#header_cart_main_ul_ondemand").append(header_cart_template_ondemand(CartTemplateOndemandData)); 3077 $("#next-button-ondemand-2").show(); 3078 $('#placeorder_form_ondemand .left_box').html(''); 3079 $('#placeorder_form_ondemand .left_box').html(cart_details.left_section); 3080 initialize(); 3081 if (cart_details.deliver_status == 0) { 3082 $("#order_placed_btn").attr("disabled", true); 3083 $("#order_placed_btn").addClass("d-none"); 3084 } else { 3085 $("#order_placed_btn").removeAttr("disabled"); 3086 $("#order_placed_btn").removeClass("d-none"); 3087 } 3088 } 3089 3090 } else { 3091 if ($('#cart_main_page').length != 0) { 3092 $('#cart_main_page').html(''); 3093 let empty_cart_template = _.template($('#empty_cart_template').html()); 3094 $("#cart_main_page").append(empty_cart_template()); 3095 } 3096 if ($('.categories-product-list').length > 0) { 3097 $('#header_cart_main_ul_ondemand').html(''); 3098 let empty_cart_template = _.template($('#empty_cart_template').html()); 3099 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 3100 } 3101 } 3102 } else { 3103 if ($('#cart_main_page').length != 0) { 3104 $('#cart_main_page').html(''); 3105 let empty_cart_template = _.template($('#empty_cart_template').html()); 3106 $("#cart_main_page").append(empty_cart_template()); 3107 } 3108 if ($('.categories-product-list').length > 0) { 3109 $('#header_cart_main_ul_ondemand').html(''); 3110 let empty_cart_template = _.template($('#empty_cart_template').html()); 3111 $("#header_cart_main_ul_ondemand").append(empty_cart_template()); 3112 } 3113 } 3114 } 3115 }, 3116 complete: function (data) { 3117 if ($("#cart_table").length > 0) { 3118 $(".spinner-box").hide(); 3119 $("#cart_table").show(); 3120 } 3121 3122 if ($("#header_cart_main_ul_ondemand").length > 0) { 3123 $(".spinner-box").hide(); 3124 $("#header_cart_main_ul_ondemand").show(); 3125 $(".number .qty-minus-ondemand .fa").removeAttr("class").addClass("fa fa-minus"); 3126 $(".number .qty-plus-ondemand .fa").removeAttr("class").addClass("fa fa-plus"); 3127 } 3128 3129 if ($(".number .fa-spinner fa-pulse").length > 0) { 3130 $(".number .qty-minus .fa").removeAttr("class").addClass("fa fa-minus"); 3131 $(".number .qty-plus .fa").removeAttr("class").addClass("fa fa-plus"); 3132 3133 } 3134 } 3135 }); 3136} 3137 3138function updateQuantity(cartproduct_id, quantity, base_price, iconElem = '') { 3139 if (iconElem != '') { 3140 let elemClasses = $(iconElem).attr("class"); 3141 $(iconElem).removeAttr("class").addClass("fa fa-spinner fa-pulse"); 3142 } 3143 3144 ajaxCall = $.ajax({ 3145 type: "post", 3146 dataType: "json", 3147 url: update_qty_url, 3148 data: { "quantity": quantity, "cartproduct_id": cartproduct_id }, 3149 success: function (response) { 3150 if (response.status == "error") { 3151 Swal.fire({ 3152 title: "Warning!", 3153 text: response.message, 3154 icon: "warning", 3155 button: "OK", 3156 }); 3157 if ($(".fa-spinner.fa-pulse").length > 0) { 3158 $(".qty-minus .fa").removeAttr("class").addClass("fa fa-minus"); 3159 $(".qty-plus .fa").removeAttr("class").addClass("fa fa-plus"); 3160 } 3161 $('#quantity_' + cartproduct_id).val(response.quantity); 3162 3163 } else { 3164 var latest_price = parseInt(base_price) * parseInt(quantity); 3165 $('#product_total_amount_' + cartproduct_id).html('$' + latest_price); 3166 // return false;
3167 cartHeader(); 3168 } 3169 }, 3170 error: function (err) { 3171 if ($(".number .fa-spinner fa-pulse").length > 0) { 3172 $(".number .qty-minus .fa").removeAttr("class").addClass("fa fa-minus"); 3173 $(".number .qty-plus .fa").removeAttr("class").addClass("fa fa-plus"); 3174 } 3175 3176 } 3177 }); 3178} 3179 3180function updateCartProductStatus(cartproduct_id, is_cart_checked) { 3181 ajaxCall = $.ajax({ 3182 type: "post", 3183 dataType: "json", 3184 url: update_cart_product_status, 3185 data: { "cartproduct_id": cartproduct_id, "is_cart_checked": is_cart_checked }, 3186 success: function (response) { 3187 if (response.status == "error") { 3188 Swal.fire({ 3189 title: "Warning!", 3190 text: response.message, 3191 icon: "warning", 3192 button: "OK", 3193 }); 3194 } else { 3195 cartHeader(); 3196 } 3197 }, 3198 error: function (err) { } 3199 }); 3200} 3201 3202$(document).on('click', '.tip_radio_controls .tip_radio', function () { 3203 var tip = $(this).val(); 3204 var amount_payable = parseFloat($("#cart_payable_amount_original").val()); 3205 var currency = $("#cart_payable_amount_original").attr('data-curr'); 3206 // if this was previously checked 3207 if ($(this).hasClass("active")) { 3208 $(this).prop('checked', false); 3209 $(this).removeClass('active'); 3210 setTipAmount(0, amount_payable, currency); 3211 } else { 3212 $('.tip_radio_controls .tip_radio').removeClass("active"); 3213 $(this).addClass('active'); 3214 setTipAmount(tip, amount_payable, currency); 3215 } 3216 3217}); 3218 3219function setTipAmount(tip, amount_payable, currency) { 3220 var fixed_fee_amount = $("#fixed_fee_amount").val(); 3221 if ((fixed_fee_amount == '') || (isNaN(fixed_fee_amount))) { 3222 fixed_fee_amount = 0; 3223 } 3224 // var other_taxes=parseFloat($('#other_taxes').text()); 3225 var other_taxes = 0; 3226 if (tip != 'custom') { 3227 if ((tip == '') || (isNaN(tip))) { 3228 tip = 0; 3229 } 3230 var wallet_amount_used_fixed = parseFloat($('#wallet_amount_used_fixed').text()); 3231 3232 3233 if (isNaN(wallet_amount_used_fixed) || wallet_amount_used_fixed == null) { 3234 wallet_amount_used_fixed = 0; 3235 } 3236 amount_payable = parseFloat(amount_payable) + parseFloat(tip) + other_taxes; 3237 $("#cart_tip_amount").val(parseFloat(tip).toFixed(parseInt(digit_count))); 3238 $("#cart_total_payable_amount").html(currency + parseFloat(amount_payable).toFixed(parseInt(digit_count))); 3239 $("input[name='cart_total_payable_amount']").val(parseFloat(amount_payable).toFixed(parseInt(digit_count))); 3240 $(".custom_tip").addClass("d-none"); 3241 $("#custom_tip_amount").val(''); 3242 if (parseFloat(amount_payable) + wallet_amount_used_fixed >= parseFloat($('#mov').text())) { 3243 // $("#order_placed_btn").removeAttr("disabled"); 3244 // $("#order_placed_btn").removeClass("d-none"); 3245 $("#MOV_Notification").addClass("d-none"); 3246 } else { 3247 // $("#order_placed_btn").attr("disabled", true); 3248 // $("#order_placed_btn").addClass("d-none"); 3249 $("#MOV_Notification").removeClass("d-none"); 3250 } 3251 } else { 3252 // amount_payable = parseFloat(amount_payable) +parseFloat(fixed_fee_amount); 3253 $("#cart_total_payable_amount").text(currency + parseFloat(amount_payable + other_taxes).toFixed(parseInt(digit_count))); 3254 $("#cart_tip_amount").val(0); 3255 $(".custom_tip").removeClass("d-none"); 3256 $("#custom_tip_amount").focus(); 3257 $("input[name='cart_total_payable_amount']").val(parseFloat(amount_payable + other_taxes).toFixed(parseInt(digit_count))); 3258 } 3259 3260 //$("input[name='cart_total_payable_amount']").val(parseFloat(amount_payable).toFixed(parseInt(digit_count))); 3261} 3262 3263function initialize_values(value) { 3264 value = value.replace(',', ''); 3265 if ((value == '') || (isNaN(value))) { 3266 value = 0; 3267 } 3268 return parseFloat(value); 3269} 3270$(document).on('keyup', '#custom_tip_amount', function () { 3271 // var other_taxes =initialize_values($('#other_taxes').text()); 3272 var other_taxes = 0; 3273 var loyalty_amount = initialize_values($('#loyalty_amount').text()); 3274 var token_currency = initialize_values($('#token_currency').text()); 3275 var wallet_amount_available = initialize_values($('#wallet_amount_available').text()); 3276 var wallet_amount_used_fixed = initialize_values($('#wallet_amount_used_fixed').text()); 3277 var gross_amount = initialize_values($('#gross_amount').text()); 3278 var total_taxable_amount = initialize_values($('#total_taxable_amount').text()); 3279 var total_subscription_discount = initialize_values($('#total_subscription_discount').text()); 3280 //var fixed_fee_amount =initialize_values($('#fixed_fee_amount').val()); 3281 var tip = initialize_values($(this).val()); 3282 3283 3284 3285 3286 var amount_elem = $("#cart_payable_amount_original"); 3287 var currency = amount_elem.attr('data-curr'); 3288 var amount_payable = initialize_values(amount_elem.val()); 3289 3290 var payable_amount = 0; 3291 3292 // if (!tip) { 3293 // alert(amount_payable); 3294 // $("#cart_total_payable_amount").html( currency + amount_payable.toFixed(parseInt(digit_c
3294ount))); 3295 // $("input[name='cart_total_payable_amount']").val( amount_payable.toFixed(parseInt(digit_count))); 3296 // } 3297 3298 $("#cart_tip_amount").val(tip.toFixed(parseInt(digit_count))); 3299 // $("#cart_total_payable_amount").html(currency + (amount_payable+other_taxes).toFixed(parseInt(digit_count))); 3300 // $("input[name='cart_total_payable_amount']").val((amount_payable+other_taxes).toFixed(parseInt(digit_count))); 3301 if (token_currency > 0) { 3302 currency = ''; 3303 $("#cart_tip_amount").val(tip / token_currency); 3304 } 3305 if (wallet_amount_available > 0) { 3306 if (wallet_amount_available >= wallet_amount_used_fixed + tip) { 3307 3308 /* Paid amount is less then available wallet amount*/ 3309 $("#wallet_amount_used").text(" - " + currency + " " + (token_currency * (wallet_amount_used_fixed + (tip / token_currency))).toFixed(parseInt(digit_count))); 3310 } else { 3311 3312 /* Paid amount is greater then available wallet amount*/ 3313 $("#wallet_amount_used").text(" - " + currency + " " + wallet_amount_available.toFixed(parseInt(digit_count))); 3314 payable_amount = ((gross_amount + tip + total_taxable_amount) - wallet_amount_available); 3315 // payable_amount=((amount_payable + tip) - (total_subscription_discount+wallet_amount_available+loyalty_amount)); 3316 3317 $("#cart_total_payable_amount").html(currency + payable_amount.toFixed(parseInt(digit_count))); 3318 $("input[name='cart_total_payable_amount']").val(payable_amount.toFixed(parseInt(digit_count))); 3319 } 3320 if (amount_payable + wallet_amount_used_fixed + tip >= parseFloat($('#mov').text())) { 3321 $("#order_placed_btn").removeAttr("disabled"); 3322 $("#order_placed_btn").removeClass("d-none"); 3323 $("#MOV_Notification").addClass("d-none"); 3324 } else { 3325 $("#order_placed_btn").attr("disabled", true); 3326 $("#order_placed_btn").addClass("d-none"); 3327 $("#MOV_Notification").removeClass("d-none"); 3328 } 3329 } else { 3330 3331 // payable_amount=((amount_payable + tip + total_taxable_amount) - (total_subscription_discount+loyalty_amount)); 3332 payable_amount = ((amount_payable + tip)); 3333 $("#cart_total_payable_amount").html(currency + payable_amount.toFixed(parseInt(digit_count))); 3334 $("input[name='cart_total_payable_amount']").val(payable_amount.toFixed(parseInt(digit_count))); 3335 if (amount_payable >= parseFloat($('#mov').text())) { 3336 $("#order_placed_btn").removeAttr("disabled"); 3337 $("#order_placed_btn").removeClass("d-none"); 3338 $("#MOV_Notification").addClass("d-none"); 3339 } else { 3340 $("#order_placed_btn").attr("disabled", true); 3341 $("#order_placed_btn").addClass("d-none"); 3342 $("#MOV_Notification").removeClass("d-none"); 3343 } 3344 } 3345 3346 3347}); 3348$(document).on('click', '.qty-minus', function () { 3349 $('.qty-minus').prop('disabled', true); 3350 $('.qty-plus').prop('disabled', true); 3351 let base_price = $(this).data('base_price'); 3352 let cartproduct_id = $(this).attr("data-id"); 3353 let minimum_order_count = $(this).attr("data-minimum_order_count"); 3354 let batch_count = $(this).attr("data-batch_count"); 3355 if (batch_count > 0) 3356 batch_count = batch_count; 3357 else 3358 batch_count = 1; 3359 3360 if (minimum_order_count > 0) 3361 minimum_order_count = minimum_order_count; 3362 else 3363 minimum_order_count = 1; 3364 let qty = $('#quantity_' + cartproduct_id).val(); 3365 let decrevalue = parseInt(qty) - parseInt(batch_count); 3366 3367 3368 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 3369 if (decrevalue >= minimum_order_count) { 3370 $('#quantity_' + cartproduct_id).val(decrevalue); 3371 updateQuantity(cartproduct_id, decrevalue, base_price); 3372 } else { 3373 // alert('remove this product'); 3374 $('#remove_item_modal').modal('show'); 3375 let vendor_id = $(this).data('vendor_id'); 3376 $('#remove_item_modal #vendor_id').val(vendor_id); 3377 $('#remove_item_modal #cartproduct_id').val(cartproduct_id); 3378 } 3379}); 3380 3381$(document).on('click', '.checked-cart-product', function () { 3382 if ($(this).is(':checked')) { 3383 var cart_product_id = $(this).val(); 3384 var is_cart_checked = 1; 3385 } else { 3386 var cart_product_id = $(this).val(); 3387 var is_cart_checked = 0; 3388 } 3389 $('#fa_spinner_' + cart_product_id).removeClass("d-none"); 3390 $(this).addClass("d-none"); 3391 updateCartProductStatus(cart_product_id, is_cart_checked); 3392}); 3393 3394$(document).on('click', '.qty-plus', function () { 3395 $('.qty-plus').prop('disabled', true); 3396 $('.qty-minus').prop('disabled', true); 3397 let base_price = $(this).data('base_price');
3398 let cartproduct_id = $(this).attr("data-id"); 3399 let qty = $('#quantity_' + cartproduct_id).val(); 3400 let minimum_order_count = $(this).attr("data-minimum_order_count"); 3401 let batch_count = $(this).attr("data-batch_count"); 3402 if (batch_count > 0) 3403 batch_count = batch_count; 3404 else 3405 batch_count = 1; 3406 3407 if (minimum_order_count > 0) 3408 minimum_order_count = minimum_order_count; 3409 else 3410 minimum_order_count = 1; 3411 3412 let increvalue = parseInt(qty) + parseInt(batch_count); 3413 3414 $('#quantity_' + cartproduct_id).val(increvalue); 3415 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 3416 updateQuantity(cartproduct_id, increvalue, base_price); 3417}); 3418 3419$(document).on('blur', 'input.input-number', function () { 3420 let base_price = $(this).data('base_price'); 3421 let cartproduct_id = $(this).attr("data-id"); 3422 let qty = $(this).val(); 3423 let minimum_order_count = $(this).attr("data-minimum_order_count"); 3424 let batch_count = $(this).attr("data-batch_count"); 3425 if (batch_count > 0) 3426 batch_count = batch_count; 3427 else 3428 batch_count = 1; 3429 3430 if (minimum_order_count > 0) 3431 minimum_order_count = minimum_order_count; 3432 else 3433 minimum_order_count = 1; 3434 3435 let increvalue = parseInt(qty); 3436 3437 $('#quantity_' + cartproduct_id).val(increvalue); 3438 updateQuantity(cartproduct_id, increvalue, base_price); 3439}); 3440 3441$(document).on('change', '.delivery-fee', function () {
3442 let code = $(this).val(); 3443 let address_id = $("input[type='radio'][name='address_id']:checked").val(); 3444 cartHeaderDilivery(address_id, code); 3445}); 3446 3447 3448// cartHeader(); 3449$(document).on("click", "#cancel_save_address_btn", function () { 3450 $('#add_new_address').show(); 3451 $('#add_new_address_btn').show(); 3452 $('#add_new_address_form').hide(); 3453}); 3454$(document).on("click", "#add_new_address_btn a.add-address", function () { 3455 if (auth) { 3456 // $(this).hide(); 3457 initialize(); 3458 $("#add_new_address_form_modal").modal('show'); 3459 $('#add_new_address_form').show(); 3460 } else { 3461 $('#login_modal').modal('show'); 3462 } 3463}); 3464$(document).on("click", "#save_address", function () { 3465 let city = $('#add_new_address_form #city').val(); 3466 let state = $('#add_new_address_form #state').val(); 3467 let state_code = $('#add_new_address_form #state_code').val(); 3468 let street = $('#add_new_address_form #street').val(); 3469 let address = $('#add_new_address_form #address').val(); 3470 let country = $('#add_new_address_form #country').val(); 3471 let pincode = $('#add_new_address_form #pincode').val(); 3472 let type = $("input[name='address_type']:checked").val(); 3473 let latitude = $('#add_new_address_form #latitude').val(); 3474 let longitude = $('#add_new_address_form #longitude').val(); 3475 let house_number = $('#add_new_address_form #house_number').val(); 3476 let extra_instruction = $('#add_new_address_form #extra_instruction').val(); 3477 if (latitude != '' && longitude != '') { 3478 $.ajax({ 3479 type: "post", 3480 dataType: "json", 3481 url: user_store_address_url, 3482 data: { 3483 "city": city, 3484 "type": type, 3485 "state": state, 3486 "street": street, 3487 "address": address, 3488 "country": country, 3489 "pincode": pincode, 3490 "latitude": latitude, 3491 "longitude": longitude, 3492 "house_number": house_number, 3493 "extra_instruction": extra_instruction, 3494 "state_code": state_code 3495 }, 3496 beforeSend: function () { 3497 if ($("#cart_table").length > 0) { 3498 $(".spinner-box").show(); 3499 $("#cart_table").hide(); 3500 } 3501 }, 3502 success: function (response) { 3503 if (response.status == 'error') { 3504 Swal.fire({ 3505 title: "Warning!", 3506 text: response.message, 3507 icon: "warning", 3508 button: "OK", 3509 }); 3510 return 3511 } 3512 if ($("#add_edit_address").length > 0) { 3513 3514 $("#add_edit_address").modal('hide'); 3515 location.reload(); 3516 } else { 3517 $("#add_new_address_form_modal").modal('hide'); 3518 // let address_template = _.template($('#address_template').html()); 3519 if (address.length > 0) { 3520 // $('#order_placed_btn').attr('disabled', false); 3521 // $("#address_template_main_div").append(address_template({address:response.address})); 3522 cartHeader(response.address.id); 3523 } 3524 } 3525 }, 3526 error: function (reject) { 3527 if ($("#cart_table").length > 0) { 3528 $(".spinner-box").hide(); 3529 $("#cart_table").show(); 3530 } 3531 if (reject.status === 422) { 3532 var message = $.parseJSON(reject.responseText); 3533 $.each(message.errors, function (key, val) { 3534 $("#" + key + "_error").text(val[0]); 3535 }); 3536 } 3537 } 3538 }); 3539 } else { 3540 Swal.fire({ 3541 title: "Warning!", 3542 text: "Please select address from suggessions or from map.", 3543 icon: "warning", 3544 button: "OK", 3545 }); 3546 $(".showMapHeader").click(); 3547 } 3548}); 3549 3550$(document).on("click", ".addToCart", function () { 3551 if (localStorage.in_cart == "true") { 3552 Swal.fire({ 3553 icon: 'error', 3554 title: 'Oops...', 3555 text: 'Product is already in cart!', 3556 //footer: '<a href="">Why do I have this issue?</a>' 3557 }) 3558 return false;
3559 } 3560 if (!$.hasAjaxRunning()) { 3561 addToCart(); 3562 } 3563}); 3564 3565 3566function checkIsolateSingleVendor(vendor_id) { 3567 var resp = ''; 3568 $.ajax({ 3569 type: "post", 3570 dataType: "json", 3571 async: false, 3572 url: check_isolate_single_vendor_url, 3573 data: { vendor_id: vendor_id }, 3574 success: function (response) { 3575 resp = response; 3576 }, 3577 error: function (error) { 3578 var response = $.parseJSON(error.responseText); 3579 resp = response; 3580 }, 3581 }); 3582 return resp; 3583} 3584async function showRemoveCart(modelText) { 3585 var start_date = $('#start_time').val(); 3586 var end_date = $('#end_time').val(); 3587 var incremental_hrs = $('#incremental_hrs').val(); 3588 var total_booking_time = $('#total_hrs').val(); 3589 var data_service_day = ''; 3590 var data_service_date = ''; 3591 var data_service_start_time = ''; 3592 var data_total_booking_time = ''; 3593 if (typeof (service_day) != "undefined" && service_day !== null) { 3594 var data_service_day = service_day; 3595 } 3596 if (typeof (service_date) != "undefined" && service_date !== null) { 3597 var data_service_date = service_date; 3598 } 3599 if (typeof (service_start_time) != "undefined" && service_start_time !== null) { 3600 var data_service_start_time = service_start_time; 3601 } 3602 if (typeof (total_booking_time) != "undefined" && total_booking_time !== null) { 3603 var data_total_booking_time = total_booking_time; 3604 } 3605 $("#single_vendor_order_modal_text").html(modelText); 3606 $("#single_vendor_remove_cart_btn").attr({ 3607 'data-product_id': product_id, 3608 'data-variant_id': $('#prod_variant_id').val(), 3609 'data-quantity': $('.quantity_count').val(), 3610 'data-vendor_id': vendor_id, 3611 'data-page': 'productDetail', 3612 'data-start_time': start_date, 3613 'data-end_time': end_date, 3614 'data-incremental_hrs': incremental_hrs, 3615 'data-service_period': service_period, 3616 'data-service_day': data_service_day, 3617 'data-service_date': data_service_date, 3618 'data-service_start_time': data_service_start_time, 3619 'data-total_hrs': data_total_booking_time, 3620 }); 3621 $("#single_vendor_order_modal").modal('show'); 3622} 3623 3624function addToCart() { 3625 var breakOut = false; 3626 var Product_quantity = $('.quantity_count').val(); 3627 var booking_time = $('#range-datepicker').val(); 3628 var start_date_time, end_date_time; 3629 3630 if (booking_time) { 3631 3632 3633 if (booking_time.includes(' to ')) { 3634 var dateParts = booking_time.split(' to '); 3635 start_date_time = dateParts[0]; 3636 end_date_time = dateParts[1]; 3637 } else if (booking_time.trim() !== '') { 3638 start_date_time = booking_time; 3639 end_date_time = booking_time; 3640 } 3641 } 3642 var addLongTerm = 0; 3643 var addRecurringBooking = 0; 3644 vendor_id = (vendor_id == undefined || vendor_id == '') ? document.querySelector('input[name=vendor_id]').value : vendor_id; 3645 if ($('#is_recurring_booking').length > 0) { 3646 // var booking_type = $('input[name="booking_type"]:checked').val(); 3647 // recurringformPost 3648 if (product_id == OrderStorage.getStorage('cartFirstProductId')) { 3649 var message = _language.getLanString('Product Already added in cart'); 3650 sweetAlert.error('', message); 3651 return false; 3652 } 3653 } else { 3654 recurringformPost = {}; 3655 } 3656 if (Product_quantity <= 0) { 3657 Swal.fire({ 3658 // title: "Warning!", 3659 text: _language.getLanString('Please enter quantity'), 3660 icon: "warning", 3661 button: "OK", 3662 }); 3663 3664 3665 breakOut = true; 3666 return false; 3667 3668 } 3669 3670 if ($('#pincode').val() == '') { 3671 3672 Swal.fire({ 3673 text: _language.getLanString('Please enter pincode to continue'), 3674 icon: "warning", 3675 button: "OK", 3676 }); 3677 return false; 3678 } 3679 3680 if ($('#date_input').val() == '') { 3681 3682 Swal.fire({ 3683 text: _language.getLanString('Please select delivery date to continue'), 3684 icon: "warning", 3685 button: "OK", 3686 }); 3687 return false;
3688 } 3689 3690 // if($('#sele_slot_id').val() == ''){ 3691 3692 // Swal.fire({ 3693 // text: _language.getLanString('Please select delivery slot to continue'), 3694 // icon: "warning", 3695 // button: "OK", 3696 // }); 3697 // return false; 3698 // } 3699 3700 if ($('#is_long_term_service').length > 0) { 3701 addLongTerm = 1; 3702 if (product_id == OrderStorage.getStorage('cartFirstProductId')) { 3703 Swal.fire({ 3704 text: _language.getLanString('Product Already added in cart'), 3705 icon: "warning", 3706 button: "OK", 3707 }); 3708 return false; 3709 } 3710 3711 3712 var service_start_time = $('#service_start_time').val(); 3713 if (service_start_time == '' || service_start_time == undefined) { 3714 Swal.fire({ 3715 text: _language.getLanString('Please enter service timing'), 3716 icon: "warning", 3717 button: "OK", 3718 }); 3719 return false; 3720 } 3721 } 3722 3723 3724 // Recuring booking code 3725 3726 3727 3728 // if($('#is_recurring_bookingss').val() > 0){ 3729 // addRecurringBooking =1; 3730 3731 3732 // var booking_type = $('input[name="booking_type"]:checked').val(); 3733 // var recurring_week_type = ''; 3734 // var recurring_week_day = ''; 3735 // if(booking_type == 3){ 3736 // var recurringBookingTime = $("#month_booking_time").val(); 3737 // var recurringBookingDate = '2023-01-23,2023-01-24,2023-01-30,2023-01-31'; 3738 // // var recurringBookingDate = $("#month-datepicker").val(); 3739 // var message = _language.getLanString('Please select monthly dates'); 3740 // }else if(booking_type == 4){ 3741 // var recurringBookingTime = $("#custom_booking_time").val(); 3742 // var recurringBookingDate = '2023-01-23,2023-01-24,2023-01-30,2023-01-31'; 3743 // //var recurringBookingDate = $("#custom-datepicker").val(); 3744 // var message = _language.getLanString('Please select custom dates'); 3745 // } 3746 3747 3748 // if(recurringBookingTime == '' || recurringBookingTime== undefined){ 3749 // Swal.fire({ 3750 // text: _language.getLanString('Please enter booking timing'), 3751 // icon: "warning", 3752 // button: "OK", 3753 // }); 3754 // return false; 3755 // } 3756 3757 // if(recurringBookingDate == '' || recurringBookingDate== undefined){ 3758 // Swal.fire({ 3759 // text: message, 3760 // icon: "warning", 3761 // button: "OK", 3762 // }); 3763 // return false; 3764 // } 3765 // } 3766 3767 3768 $(".productAddonSetOptions").each(function (index) { 3769 var min_select = $(this).attr("data-min"); 3770 var max_select = $(this).attr("data-max"); 3771 var addon_set_title = $(this).attr("data-addonset-title"); 3772 if ((min_select > 0) && ($(this).find(".productDetailAddonOption:checked").length < min_select)) { 3773 Swal.fire({ 3774 // title: "Warning!", 3775 text: "Minimum " + min_select + " " + addon_set_title + " required", 3776 icon: "warning", 3777 button: "OK", 3778 }); 3779 // alert("Minimum " + min_select + " " + addon_set_title + " required"); 3780 3781 breakOut = true; 3782 return false; 3783 } 3784 if ((max_select > 0) && ($(this).find(".productDetailAddonOption:checked").length > max_select)) { 3785 Swal.fire({ 3786 // title: "Warning!", 3787 text: "You can select maximum " + max_select + " " + addon_set_title, 3788 icon: "warning", 3789 button: "OK", 3790 }); 3791 // alert("You can select maximum " + max_select + " " + addon_set_title); 3792 breakOut = true; 3793 return false; 3794 } 3795 }); 3796 if (!breakOut) { 3797 var sVendorResponse = checkIsolateSingleVendor(vendor_id); 3798 if (sVendorResponse.status == 'Success') { 3799 var service_period = $('#service_period').val(); 3800 var service_day = $('#service_day').val(); 3801 var service_date = $('#service_date').val(); 3802 var service_start_time = $('#service_start_time').val();
3803 var is_template = $('#is_template').val(); 3804 3805 3806 3807 if (((sVendorResponse.isSingleVendorEnabled == 1) && (sVendorResponse.otherVendorExists == 1)) || (OrderStorage.getStorage('LongTermServiceAdded') == 1) || (OrderStorage.getStorage('cartProductCount') > 0 && addLongTerm == 1)) { 3808 var modelText = _language.getLanString('You can only buy products for single vendor. Do you want to remove all your cart products to continue ?'); 3809 if (OrderStorage.getStorage('LongTermServiceAdded') == 1 || addLongTerm == 1) { 3810 modelText = _language.getLanString('You can only buy Single Long Term Serivce . Do you want to remove all your cart products to continue ?'); 3811 } 3812 if (OrderStorage.getStorage('RecurringBookingAdded') == 1 || addRecurringBooking == 1) { 3813 modelText = _language.getLanString('You can only buy Single Recurring Booking Serivce . Do you want to remove all your cart products to continue ?'); 3814 } 3815 showRemoveCart(modelText); 3816 } else { 3817 // if(serviceType == 'yacht'){ 3818 3819 // var booking_duration = $('input[name="booking_duration"]'); 3820 // let isDurationSelected = false; 3821 3822 // booking_duration.each(function(inbdex, element){ 3823 // if(element.checked){ 3824 // let isDurationSelected = false; 3825 // console.log(element.value) 3826 // } 3827 // }) 3828 // return false; 3829 // } 3830 var variant_id = $('#prod_variant_id').val(); 3831 var start_date = $('#start_time').val(); 3832 3833 var end_date = $('#end_time').val(); 3834 var quantity = $('.quantity_count').val(); 3835 var incremental_hrs = $('#incremental_hrs').val(); 3836 var total_booking_time = $('#total_hrs').val(); 3837 3838 var sele_slot_id = $("#sele_slot_id").val(); 3839 var sele_slot_price = $("#sele_slot_price").val(); 3840 var delivery_date = $("#date_input").val(); 3841 submitAddtoCart(addonids, addonoptids, product_id, variant_id, quantity, vendor_id, start_date, end_date, incremental_hrs, total_booking_time, service_period, service_day, service_start_time, service_date, sele_slot_id, sele_slot_price, delivery_date, recurringformPost, is_template, start_date_time, end_date_time); 3842 } 3843 } 3844 } 3845} 3846 3847function submitAddtoCart(addonids, addonoptids, product_id, variant_id, quantity, vendor_id, start_date = '', end_date = '', incremental_hrs = '', total_booking_time = '', service_period = '', service_day = '', service_start_time = '', service_date = '', sele_slot_id = '', sele_slot_price = '', delivery_date = '', recurringformPost = '', is_template = '', start_date_time = '', end_date_time = '') { 3848 3849 var returnResponse = false; 3850 $.ajax({ 3851 type: "post", 3852 dataType: "json", 3853 async: false, 3854 url: add_to_cart_url, 3855 data: { 3856 "addonID": addonids, 3857 "vendor_id": vendor_id, 3858 "product_id": product_id, 3859 "addonoptID": addonoptids, 3860 "quantity": quantity, 3861 "variant_id": variant_id, 3862 "start_date": start_date, 3863 "end_date": end_date, 3864 "incremental_hrs": incremental_hrs, 3865 "total_booking_time": total_booking_time, 3866 "service_period": service_period, 3867 "service_day": service_day, 3868 "service_date": service_date, 3869 "service_start_time": service_start_time, 3870 "recurringformPost": recurringformPost, 3871 "sele_slot_id": sele_slot_id, 3872 "delivery_date": delivery_date, 3873 "sele_slot_price": sele_slot_price, 3874 "is_template": is_template, 3875 "start_date_time": start_date_time, 3876 "end_date_time": end_date_time, 3877 }, 3878 success: function (response) { 3879 if (response.status == 'success') { 3880 // $(".shake-effect").effect("shake", { times: 0 }, 1200); 3881 returnResponse = true; 3882 cartHeader(); 3883 3884 if ($("#pickup_service").is(":checked")) { 3885 location.href = '/category/cabservice?destination_location=' + response.vendor.address + '&destination_location_latitude' + response.vendor.latitude + '&destination_location_longitude' + response.vendor.longitude + '&yacht_id=' + product_id; 3886 } 3887 if (vendor_type == 'rental' || vendor_type == 'p2p') { 3888 location.href = '/viewcart'; 3889 } 3890 if (response.vendor.rental == 1) { 3891 location.href = '/viewcart'; 3892 } 3893 } else { 3894 Swal.fire({ 3895 // title: "Warning!", 3896 text: response.message, 3897 icon: "warning", 3898 button: "OK", 3899 }); 3900 //alert(response.message); 3901 } 3902 }, 3903 error: function (error) { 3904 var response = $.parseJSON(error.responseText); 3905 let error_messages = response.message; 3906 Swal.fire({ 3907 // title: "Warning!", 3908 text: error_messages, 3909 icon: "error", 3910 button: "OK", 3911 }); 3912 // alert(error_messages); 3913 }, 3914 }); 3915 return returnResponse; 3916} 3917 3918$(document).delegate("#single_vendor_remove_cart_btn", "click", function () { 3919 $(this).parents('.modal').modal('hide'); 3920 var product_id = $(this).attr('data-product_id'); 3921 var variant_id = $(this).attr('data-variant_id'); 3922 var quantity = $(this).attr('data-quantity'); 3923 var vendor_id = $(this).attr('data-vendor_id'); 3924 var start_date = $(this).attr('data-start_time'); 3925 var end_date = $(this).attr('data-end_time'); 3926 var incremental_hrs = $(this).attr('data-incremental_hrs'); 3927 var total_booking_time = $(this).attr('data-total_hrs'); 3928 var service_period = $(this).attr('data-service_period'); 3929 var service_day = $(this).attr('data-service_day'); 3930 var service_start_time = $(this).attr('data-service_start_time'); 3931 var service_date = $(this).attr('data-service_date'); 3932 3933 if ($(this).attr('data-page') == 'productDetail') { 3934 submitAddtoCart(addonids, addonoptids, product_id, variant_id, quantity, vendor_id, start_date, end_date, incremental_hrs, total_booking_time, service_period, service_day, service_start_time, service_date); 3935 } else if ($(this).attr('data-page') == 'vendorProducts') { 3936 var elem = $(this).attr('data-element_id'); 3937 submitAddtoCartProductsAddons($('#' + elem), addonids, addonoptids, product_id, variant_id, quantity, vendor_id); 3938 } 3939}); 3940 3941// ********************************************* all functions for vendor product new page ************************************** // 3942 3943 3944window.getProductAddons = function getProductAddons(slug, variantId = 0, vendorId = 0) { 3945 $.ajax({ 3946 type: "post", 3947 dataType: "json", 3948 url: get_product_addon_url, 3949 data: { "slug": slug, "variant": variantId, "vendor": vend
3949orId }, 3950 success: function (response) { 3951 if (response.status == 'Success') { 3952 $("#product_addon_modal .modal-content").html(''); 3953 let addon_template = _.template($('#addon_template').html()); 3954 $("#product_addon_modal .modal-content").append(addon_template({ Helper: NumberFormatHelper, addOnData: response.data })); 3955 $("#product_addon_modal").modal('show'); 3956 } else { 3957 // alert(response.message); 3958 Swal.fire({ 3959 // title: "Warning!", 3960 text: response.message, 3961 icon: "warning", 3962 button: "OK", 3963 }); 3964 } 3965 }, 3966 error: function (error) { 3967 var response = $.parseJSON(error.responseText); 3968 let error_messages = response.message; 3969 Swal.fire({ 3970 // title: "Warning!", 3971 text: error_messages, 3972 icon: "error", 3973 button: "OK", 3974 }); 3975 //alert(error_messages); 3976 }, 3977 }); 3978} 3979 3980window.getEstimateProductAddons = function getEstimateProductAddons(slug, variantId = 0) { 3981 $.ajax({ 3982 type: "post", 3983 dataType: "json", 3984 url: get_estimate_product_addon_url, 3985 data: { "slug": slug, "variant": variantId }, 3986 success: function (response) { 3987 if (response.status == 'Success') { 3988 $("#estimate_product_addon_modal .modal-content").html(''); 3989 let estimate_addon_template = _.template($('#estimate_addon_template').html()); 3990 $("#estimate_product_addon_modal .modal-content").append(estimate_addon_template({ estimateAddOnData: response.data })); 3991 $("#estimate_product_addon_modal").modal('show'); 3992 } else { 3993 alert(response.message); 3994 } 3995 }, 3996 error: function (error) { 3997 var response = $.parseJSON(error.responseText); 3998 let error_messages = response.message; 3999 alert(error_messages); 4000 }, 4001 }); 4002} 4003 4004function getLastAddedProductVariant(_this, cart_id, product_id, addon) { 4005 $('#repeat_item_modal').find(".last_cart_product_id").val(''); 4006 $('#repeat_item_modal').find(".curr_product_id").val(''); 4007 $('#repeat_item_modal').find('.curr_product_has_addons').val(''); 4008 ajaxCall = $.ajax({ 4009 type: "post", 4010 dataType: "json", 4011 url: get_last_added_product_variant_url, 4012 data: { "cart_id": cart_id, "product_id": product_id }, 4013 success: function (response) { 4014 if (response.status == 'Success') { 4015 $('#repeat_item_modal').modal('show'); 4016 $('#repeat_item_modal').find(".last_cart_product_id").val(response.data.id); 4017 $('#repeat_item_modal').find(".curr_product_id").val(product_id); 4018 $('#repeat_item_modal').find('.curr_product_has_addons').val(addon); 4019 } 4020 }, 4021 error: function (response) { 4022 var error = $.parseJSON(response.responseText); 4023 Swal.fire({ 4024 // title: "Warning!", 4025 text: error.message, 4026 icon: "error", 4027 button: "OK", 4028 }); 4029 //alert(error.message); 4030 } 4031 }); 4032} 4033 4034function getProductVariantWithDifferentAddons(_this, cart_id, product_id) { 4035 ajaxCall = $.ajax({ 4036 type: "post", 4037 dataType: "json", 4038 url: get_product_variant_with_different_addons_url, 4039 data: { "cart_id": cart_id, "product_id": product_id }, 4040 success: function (response) { 4041 if (response.status == 'Success') { 4042 $('#customize_repeated_item_modal .modal-content').html(response.data); 4043 } else { 4044 $('#customize_repeated_item_modal .modal-content').html(''); 4045 //alert(response.message); 4046 Swal.fire({ 4047 // title: "Warning!", 4048 text: response.message, 4049 icon: "warning", 4050 button: "OK", 4051 }); 4052 } 4053 }, 4054 error: function (response) { 4055 var error = $.parseJSON(response.responseText); 4056 Swal.fire({ 4057 // title: "Warning!", 4058 text: error.message, 4059 icon: "error", 4060 button: "OK", 4061 }); 4062 //alert(error.message); 4063 $('#customize_repeated_item_modal .modal-content').html(''); 4064 } 4065 }); 4066} 4067 4068$(document).on('click', '.qty-minus-product', function () { 4069 let base_price = $(this).data('base_price');
4070 let cartproduct_id = $(this).attr("data-id"); 4071 let cart_id = $(this).attr("data-cart"); 4072 let product_id = $(this).attr("data-product_id"); 4073 let variant_id = $(this).attr("data-variant_id"); 4074 let minimum_order_count = $(this).attr("data-minimum_order_count"); 4075 let batch_count = $(this).attr("data-batch_count"); 4076 if (batch_count > 0) 4077 batch_count = batch_count; 4078 else 4079 batch_count = 1; 4080 4081 if (minimum_order_count > 0) 4082 minimum_order_count = minimum_order_count; 4083 else 4084 minimum_order_count = 1; 4085 4086 let qty = $(this).next().val(); 4087 let decrevalue = parseInt(qty) - parseInt(batch_count); 4088 if (!$.hasAjaxRunning()) { 4089 if (decrevalue >= minimum_order_count) { 4090 if ($(this).hasClass('remove-customize') && $(this).hasClass('m-open')) { 4091 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 4092 updateProductQuantity(product_id, cartproduct_id, decrevalue, base_price, this); 4093 } 4094 else if ($(this).hasClass('remove-customize') && !$(this).hasClass('m-open')) { 4095 $('#customize_repeated_item_modal').modal('show'); 4096 getProductVariantWithDifferentAddons(this, cart_id, product_id); 4097 } 4098 else { 4099 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 4100 $('#quantity_ondemand_' + cartproduct_id).val(decrevalue); 4101 updateProductQuantity(product_id, cartproduct_id, decrevalue, base_price, this); 4102 } 4103 } else { 4104 // alert('remove this product'); 4105 $('#remove_item_modal').modal('show'); 4106 let vendor_id = $(this).data('vendor_id'); 4107 $('#remove_item_modal #vendor_id').val(vendor_id); 4108 $('#remove_item_modal #product_id').val(product_id); 4109 $('#remove_item_modal #cartproduct_id').val(cartproduct_id); 4110 } 4111 } 4112}); 4113$(document).on('click', '.qty-plus-product', function () { 4114 let base_price = $(this).data('base_price'); 4115 let cartproduct_id = $(this).attr("data-id"); 4116 let cart_id = $(this).attr("data-cart"); 4117 let product_id = $(this).attr("data-product_id"); 4118 let minimum_order_count = $(this).attr("data-minimum_order_count"); 4119 let batch_count = $(this).attr("data-batch_count"); 4120 if (batch_count > 0) 4121 batch_count = batch_count; 4122 else 4123 batch_count = 1; 4124 // let variant_id = $(this).attr("data-variant_id"); 4125 // let vendor_id = $(this).attr("data-vendor_id"); 4126 let addon = $(this).attr("data-addon"); 4127 let qty = $(this).prev().val(); 4128 let increvalue = parseInt(qty) + parseInt(batch_count); 4129 if (!$.hasAjaxRunning()) { 4130 if ($(this).hasClass('repeat-customize') && $(this).hasClass('m-open')) { 4131 $(this).find('.fa').removeClass("fa-plus").addClass("fa-spinner fa-pulse"); 4132 updateProductQuantity(product_id, cartproduct_id, increvalue, base_price, this); 4133 } 4134 else if ($(this).hasClass('repeat-customize') && !$(this).hasClass('m-open')) { 4135 getLastAddedProductVariant(this, cart_id, product_id, addon); 4136 } else { 4137 $(this).prev().val(increvalue); 4138 $(this).find('.fa').removeClass("fa-plus").addClass("fa-spinner fa-pulse"); 4139 updateProductQuantity(product_id, cartproduct_id, increvalue, base_price, this); 4140 } 4141 } 4142}); 4143 4144$(document).delegate('#repeat_item_btn', 'click', function () { 4145 let that = $(this).closest('.modal'); 4146 let cartproduct_id = that.find('.last_cart_product_id').val(); 4147 let qty = $('#quantity_ondemand_' + cartproduct_id).val(); 4148 $('#quantity_ondemand_' + cartproduct_id).val(++qty); 4149 $(this).find('.fa').removeClass("fa-plus").addClass("fa-spinner fa-pulse"); 4150 $('#repeat_item_modal').modal('hide'); 4151 updateProductQuantity(0, cartproduct_id, qty, 0, this); 4152}); 4153 4154function updateProductQuantity(product_id, cartproduct_id, quantity, base_price = 0, iconElem = '') { 4155 4156 ajaxCall = $.ajax({ 4157 type: "post", 4158 dataType: "json", 4159 url: update_qty_url, 4160 data: { "quantity": quantity, "cartproduct_id": cartproduct_id }, 4161 success: function (response) { 4162 4163 if (response.status == "error") { 4164 Swal.fire({ 4165 title: "Warning!", 4166 text: response.message, 4167 icon: "warning", 4168 button: "OK", 4169 }); 4170 $('#quantity_ondemand_' + cartproduct_id).val(response.quantity); 4171 } else { 4172 var latest_price = parseFloat(parseInt(base_price) * parseInt(quantity)).toFixed(parseInt(digit_c
4172ount)); 4173 $('#product_total_amount_' + cartproduct_id).html('$' + latest_price); 4174 if ($(iconElem).hasClass('remove-customize') && $(iconElem).hasClass('m-open')) { 4175 $(iconElem).next().val(quantity); 4176 $(iconElem).closest('.customized_product_row').find('.total_product_price').text(latest_price); 4177 var total_qty = $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(); 4178 $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(--total_qty); 4179 } 4180 if ($(iconElem).hasClass('repeat-customize') && $(iconElem).hasClass('m-open')) { 4181 $(iconElem).prev().val(quantity); 4182 $(iconElem).closest('.customized_product_row').find('.total_product_price').text(latest_price); 4183 var total_qty = $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(); 4184 $('.add_vendor_product[data-product_id="' + product_id + '"]').next().find('input').val(++total_qty); 4185 } 4186 cartHeader(); 4187 } 4188 }, 4189 complete: function (data) { 4190 if ($(iconElem).hasClass("qty-minus-product")) { 4191 $(iconElem).find(".fa").removeAttr("class").addClass("fa fa-minus"); 4192 } else if ($(iconElem).hasClass("qty-plus-product")) { 4193 $(iconElem).find(".fa").removeAttr("class").addClass("fa fa-plus"); 4194 } 4195 } 4196 }); 4197} 4198 4199$(document).delegate("#repeat_item_new_addon_btn", "click", function () { 4200 let that = $(this).closest('.modal'); 4201 let cartproduct_id = that.find('.last_cart_product_id').val(); 4202 initAddVendorProduct($("#add_button_href" + cartproduct_id)); 4203}); 4204 4205$(document).delegate('.counter-container .qty-action', 'click', function () { 4206 var qty = $('.counter-container .addon-input-number').val(); 4207 if (qty > 1) { 4208 if ($(this).hasClass('minus')) { 4209 $('.counter-container .addon-input-number').val(--qty); 4210 } 4211 } 4212 if ($(this).hasClass('plus')) { 4213 $('.counter-container .addon-input-number').val(++qty); 4214 } 4215 let parentdiv = $(this).parents('.modal-content'); 4216 calculateVariantPriceWithAddon(parentdiv); 4217}); 4218 4219$(document).delegate(".product_addon_option", "click", function () { 4220 // add addons data 4221 var addonSet = $(this).parents('.productAddonSetOptions'); 4222 var addon_minlimit = addonSet.attr("data-min"); 4223 var addon_maxlimit = addonSet.attr("data-max"); 4224 if (addonSet.find(".product_addon_option:checked").length > addon_maxlimit) { 4225 this.checked = false; 4226 } 4227 let parentdiv = $(this).parents('.modal-body'); 4228 calculateVariantPriceWithAddon(parentdiv); 4229}); 4230 4231function calculateVariantPriceWithAddon(parentdiv) { 4232 let addon_elem = parentdiv.find('.productAddonSetOptions'); 4233 let addonVariantPriceVal = $("#addonVariantPriceVal").val(); 4234 let addon_variant_qty = $(".addon-input-number").val(); 4235 let total_addon_price = 0; 4236 addonids = []; 4237 addonoptids = []; 4238 4239 addon_elem.find('.product_addon_option').each(function (index, value) { 4240 var addonId = $(value).attr("addonId"); 4241 var addonOptId = $(value).attr("addonOptId"); 4242 if ($(value).is(":checked")) { 4243 var addonPrice = $(value).attr("addonPrice"); 4244 addonids.push(addonId); 4245 addonoptids.push(addonOptId); 4246 total_addon_price = parseFloat(total_addon_price) + parseFloat(addonPrice); 4247 } 4248 }); 4249 let addon_variant_price = (parseInt(addon_variant_qty) * (parseFloat(addonVariantPriceVal) + parseFloat(total_addon_price))).toFixed(parseInt(digit_count)); 4250 $(".addon_variant_price").text(addon_variant_price); 4251} 4252 4253$(document).delegate(".add_vendor_addon_product", "click", function () { 4254 let that = $(this); 4255 let addon_variant_qty = $(".addon-input-number").val(); 4256 addToCartProductsAddons(that, addon_variant_qty); 4257}); 4258 4259$(document).on("click", ".add_vendor_product", function () { 4260 let that = $(this); 4261 initAddVendorProduct(that); 4262}); 4263
4264$(document).on("click", ".add_vendor_product_btn", function () { 4265 let that = $(this); 4266 initAddEstimateProduct(that); 4267}); 4268 4269$(document).delegate("#repeat_item_with_new_addon_btn", "click", function () { 4270 let that = $(this).closest('.modal'); 4271 let curr_product_id = that.find('.curr_product_id').val(); 4272 let curr_product = $('.add_vendor_product[data-product_id="' + curr_product_id + '"]'); 4273 initAddVendorProduct(curr_product); 4274}); 4275 4276function initAddVendorProduct(that) { 4277 let check_addon = that.attr('data-addon'); 4278 if (check_addon > 0) { 4279 var variant_id = that.data("variant_id"); 4280 let slug = that.parents('.product_row').attr('data-slug'); 4281 let vendor_id = that.data("vendor_id"); 4282 getProductAddons(slug, variant_id, vendor_id); 4283 return false; 4284 } 4285 4286 var minimum_order_count = $(that).data("minimum_order_count"); 4287 if (minimum_order_count > 0) 4288 minimum_order_count = minimum_order_count; 4289 else 4290 minimum_order_count = 1; 4291 4292 4293 // end addons data 4294 if (!$.hasAjaxRunning()) { 4295 addToCartProductsAddons(that, minimum_order_count); 4296 } 4297} 4298 4299function initAddEstimateProduct(that) { 4300 let check_addon = that.attr('data-addon'); 4301 if (check_addon > 0) { 4302 var variant_id = that.data("variant_id"); 4303 let slug = that.parents('.product_row').attr('data-slug'); 4304 getEstimateProductAddons(slug, variant_id); 4305 return false; 4306 } 4307 4308 var minimum_order_count = $(that).data("minimum_order_count"); 4309 if (minimum_order_count > 0) 4310 minimum_order_count = minimum_order_count; 4311 else 4312 minimum_order_count = 1; 4313 4314 4315 // end addons data 4316 // if (!$.hasAjaxRunning()) { 4317 // addToCartProductsAddons(that,minimum_order_count); 4318 // } 4319} 4320 4321// add to cart on new page 4322function addToCartProductsAddons(that, quantity = 1) { 4323 var isAddonSection = false; 4324 var breakOut = false; 4325 if (that.hasClass('add_vendor_addon_product')) { 4326 isAddonSection = true; 4327 that.parents('.modal').find(".productAddonSetOptions").each(function (index) { 4328 var min_select = $(this).attr("data-min"); 4329 var max_select = $(this).attr("data-max"); 4330 var addon_set_title = $(this).attr("data-addonset-title"); 4331 if ((min_select > 0) && ($(this).find(".product_addon_option:checked").length < min_select)) { 4332 success_error_alert('error', "Minimum " + min_select + " " + addon_set_title + " required", ".addon_response"); 4333 breakOut = true; 4334 return false; 4335 } 4336 if ((max_select > 0) && ($(this).find(".product_addon_option:checked").length > max_select)) { 4337 success_error_alert('error', "You can select maximum " + max_select + " " + addon_set_title, ".addon_response"); 4338 breakOut = true; 4339 return false; 4340 } 4341 }); 4342 } 4343 if (!breakOut) { 4344 var ajaxCall = 'ToCancelPrevReq'; 4345 var vendor_id = that.data("vendor_id"); 4346 var product_id = that.data("product_id"); 4347 var variant_id = that.data("variant_id"); 4348 var show_plus_minus = "#show_plus_minus" + product_id; 4349 4350 var sVendorResponse = checkIsolateSingleVendor(vendor_id); 4351 if (sVendorResponse.status == 'Success') { 4352 if ((sVendorResponse.isSingleVendorEnabled == 1) && (sVen
4352dorResponse.otherVendorExists == 1) || (OrderStorage.getStorage('LongTermServiceAdded') == 1)) { 4353 var modelText = _language.getLanString('You can only buy products for single vendor. Do you want to remove all your cart products to continue ?'); 4354 if (OrderStorage.getStorage('LongTermServiceAdded') == 1) { 4355 modelText = _language.getLanString('You can only buy Single Long Term Serivce . Do you want to remove this Serivce to continue ?'); 4356 } 4357 $("#single_vendor_remove_cart_btn").attr({ 4358 'data-product_id': product_id, 4359 'data-variant_id': variant_id, 4360 'data-quantity': quantity, 4361 'data-vendor_id': vendor_id, 4362 'data-element_id': that.attr('id'), 4363 'data-page': 'vendorProducts' 4364 }); 4365 $("#single_vendor_order_modal_text").html(modelText); 4366 $("#single_vendor_order_modal").modal('show'); 4367 } else { 4368 submitAddtoCartProductsAddons(that, addonids, addonoptids, product_id, variant_id, quantity, vendor_id); 4369 } 4370 } 4371 } 4372} 4373 4374function submitAddtoCartProductsAddons(that, addonids, addonoptids, product_id, variant_id, quantity, vendor_id) { 4375 var returnResponse = false; 4376 ajaxCall = $.ajax({ 4377 type: "post", 4378 dataType: "json", 4379 url: that.data("add_to_cart_url"), 4380 data: { 4381 "addonID": addonids, 4382 "vendor_id": vendor_id, 4383 "product_id": product_id, 4384 "addonoptID": addonoptids, 4385 "quantity": quantity, 4386 "variant_id": variant_id, 4387 }, 4388 success: function (response) { 4389 if (response.status == 'success') { 4390 returnResponse = true; 4391 // $(".shake-effect").effect("shake", { times: 0 }, 1200); 4392 cartHeader(); 4393 if (that.hasClass('add_vendor_addon_product')) { 4394 that.parents('.modal').modal('hide'); 4395 window.location.reload(); 4396 } else { 4397 $(that).next().show(); 4398 $(that).next().find('.minus').attr('data-id', response.cart_product_id); 4399 $(that).next().find('.plus').attr('data-id', response.cart_product_id); 4400 $(that).next().find('.input_qty').attr('id', "quantity_ondemand_" + response.cart_product_id); 4401 $(that).next().find('.qty-minus-ondemand').attr('data-parent_div_id', "show_plus_minus" + response.cart_product_id); 4402 $(that).next().attr('id', "show_plus_minus" + response.cart_product_id); 4403 4404 $(that).attr('id', "add_button_href" + response.cart_product_id); 4405 $(that).hide(); 4406 $(that).next().show(); 4407 4408 let parentdiv = $(that).parents('.classes_wrapper'); 4409 let addons_div = parentdiv.find('.addons-div'); 4410 if (addonoptids.length >= 0) { 4411 let addons_div = parentdiv.find('.addons-div'); 4412 addons_div.hide(); 4413 } 4414 } 4415 } else { 4416 //alert(response.message); 4417 Swal.fire({ 4418 // title: "Warning!", 4419 text: response.message, 4420 icon: "error", 4421 button: "OK", 4422 }); 4423 } 4424 }, 4425 error: function (error) { 4426 var response = $.parseJSON(error.responseText); 4427 let error_messages = response.message; 4428 Swal.fire({ 4429 // title: "Warning!", 4430 text: error_messages, 4431 icon: "error", 4432 button: "OK", 4433 }); 4434 //alert(error_messages); 4435 }, 4436 }); 4437 return returnResponse; 4438} 4439 4440// ********************************************* End vendor product new page ************************************** // 4441 4442 4443 4444// ********************************************** all function for ondemand services ***************************************** //////////////////////// 4445 4446$(document).on("click", "#next-button-ondemand-3", function () { 4447 $('.alert-danger').html(''); 4448
4449 var valid = checkSlotTimeSelecedValidation(); 4450 4451 if (slotValidater == 1) { // some date or time not selected 4452 sweetAlert.error('Oops...', 'Schedule date time is required'); 4453 return false; 4454 } 4455 4456 4457 4458 var task_type = 'schedule'; 4459 var schedule_date = $("input[name='booking_date']:checked").val(); 4460 var schedule_time = $("input[name='booking_time']:checked").val(); 4461 var specific_instructions = $("#specific_instructions").val(); 4462 var productid = $("#last_cart_product_id").val(); 4463 //alert(schedule_date); 4464 //alert(schedule_time); 4465 var schedule_dt = schedule_date; 4466 //alert(schedule_dt); 4467 // var schedule_dt = schedule_date +' '+schedule_time; 4468 if ((task_type == 'schedule') && (schedule_dt == '')) { 4469 success_error_alert('error', 'Schedule date time is required', ".cart_response"); 4470 return false; 4471 } 4472 $.ajax({ 4473 type: "POST", 4474 dataType: 'json', 4475 url: update_cart_schedule, 4476 data: { task_type: task_type, specific_instructions: specific_instructions, productid: productid }, //, schedule_dt: schedule_dt,schedule_time:schedule_time 4477 success: function (response) { 4478 if (response.status == "Success") { 4479 window.location.href = showCart; 4480 } 4481 }, 4482 error: function (error) { 4483 var response = $.parseJSON(error.responseText); 4484 alert(response.message); 4485 success_error_alert('error', response.message, ".cart_response"); 4486 4487 } 4488 }); 4489}); 4490 4491 4492 4493 4494$(document).on("click", ".add_on_demand", function () { 4495 let that = $(this); 4496 4497 4498 // end addons data 4499 4500 var ajaxCall = 'ToCancelPrevReq'; 4501 var vendor_id = that.data("vendor_id"); 4502 var product_id = that.data("product_id"); 4503 var add_to_cart_url = that.data("add_to_cart_url"); 4504 var variant_id = that.data("variant_id"); 4505 var show_plus_minus = "#show_plus_minus" + product_id; 4506 4507 4508 if (!$.hasAjaxRunning()) { 4509 addToCartOnDemand(ajaxCall, vendor_id, product_id, addonids, addonoptids, add_to_cart_url, variant_id, show_plus_minus, that); 4510 4511 } 4512 4513}); 4514 4515$(document).on("click", ".productAddonOption", function () { 4516 var cart_id = ''; 4517 var cart_product_id = ''; 4518 let that = $(this); 4519 4520 // add addons data 4521 let parentdiv = $(this).parents('.add-on-main-div'); 4522 let addon_elem = parentdiv.find('.productAddonSetOptions'); 4523 4524 4525 4526 addon_elem.find('.productAddonOption').each(function (index, value) { 4527 var addonId = $(value).attr("addonId"); 4528 var addonOptId = $(value).attr("addonOptId"); 4529 if ($(value).is(":checked")) { 4530 addonids.push(addonId); 4531 addonoptids.push(addonOptId); 4532 } 4533 }); 4534 4535 var cart_id = addon_elem.attr("data-cart_id"); 4536 var cart_product_id = addon_elem.attr("data-cart_product_id"); 4537 4538 4539 4540 ajaxCall = $.ajax({ 4541 type: "post", 4542 dataType: "json", 4543 url: update_addons_in_cart,
4544 data: { "addonID": addonids, "addonoptID": addonoptids, "cart_id": cart_id, "cart_product_id": cart_product_id }, 4545 success: function (response) { 4546 if (response.status == 'success') { 4547 cartHeader(); 4548 addonids = []; 4549 addonoptids = []; 4550 } else { 4551 addonids = []; 4552 addonoptids = []; 4553 //alert(response.message); 4554 Swal.fire({ 4555 // title: "Warning!", 4556 text: response.message, 4557 icon: "warning", 4558 button: "OK", 4559 }); 4560 } 4561 }, 4562 error: function (error) { 4563 var response = $.parseJSON(error.responseText); 4564 let error_messages = response.error; 4565 addonids = []; 4566 addonoptids = []; 4567 that.prop('checked', false); 4568 Swal.fire({ 4569 // title: "Warning!", 4570 text: error_messages, 4571 icon: "error", 4572 button: "OK", 4573 }); 4574 //alert(error_messages); 4575 } 4576 }); 4577 4578}); 4579 4580$(document).on('click', '.qty-minus-ondemand', function () { 4581 let base_price = $(this).data('base_price'); 4582 let cartproduct_id = $(this).attr("data-id"); 4583 let qty = $('#quantity_ondemand_' + cartproduct_id).val(); 4584 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 4585 if (qty > 1) { 4586 $('#quantity_ondemand_' + cartproduct_id).val(--qty); 4587 updateQuantityOnDemand(cartproduct_id, qty, base_price); 4588 } else { 4589 // alert('remove this product'); 4590 $('#remove_item_modal').modal('show'); 4591 let vendor_id = $(this).data('vendor_id'); 4592 $('#remove_item_modal #vendor_id').val(vendor_id); 4593 $('#remove_item_modal #cartproduct_id').val(cartproduct_id); 4594 4595 4596 } 4597}); 4598$(document).on('click', '.qty-plus-ondemand', function () { 4599 let base_price = $(this).data('base_price'); 4600 let cartproduct_id = $(this).attr("data-id"); 4601 let qty = $('#quantity_ondemand_' + cartproduct_id).val(); 4602 $('#quantity_ondemand_' + cartproduct_id).val(++qty); 4603 $(this).find('.fa').removeClass("fa-minus").addClass("fa-spinner fa-pulse"); 4604 updateQuantityOnDemand(cartproduct_id, qty, base_price); 4605}); 4606 4607 4608function updateQuantityOnDemand(cartproduct_id, quantity, base_price, iconElem = '') { 4609 if (iconElem != '') { 4610 let elemClasses = $(iconElem).attr("class"); 4611 $(iconElem).removeAttr("class").addClass("fa fa-spinner fa-pulse"); 4612 } 4613 ajaxCall = $.ajax({ 4614 type: "post", 4615 dataType: "json", 4616 url: update_qty_url, 4617 data: { "quantity": quantity, "cartproduct_id": cartproduct_id }, 4618 success: function (response) { 4619 var latest_price = parseInt(base_price) * parseInt(quantity); 4620 $('#product_total_amount_' + cartproduct_id).html('$' + latest_price); 4621 cartHeader(); 4622 }, 4623 error: function (err) { 4624 if ($(".number .fa-spinner fa-pulse").length > 0) { 4625 $(".number .qty-minus .fa").removeAttr("class").addClass("fa fa-minus"); 4626 $(".number .qty-plus .fa").removeAttr("class").addClass("fa fa-plus"); 4627 } 4628 } 4629 }); 4630} 4631 4632// on demand add to cart 4633// dispatcherAgentData coming where we selecte price from dispatchr driver 4634function addToCartOnDemand(ajaxCall, vendor_id, product_id, addonids, addonoptids, add_to_cart_url, variant_id, show_plus_minus, that, dispatcherAgentData = "") { 4635 $.ajax({ 4636 type: "post", 4637 dataType: "json", 4638 url: add_to_cart_url, 4639 data: { 4640 "addonID": addonids, 4641 "vendor_id": vendor_id, 4642 "product_id": product_id, 4643 "addonoptID": addonoptids, 4644 "quantity": 1, 4645 "variant_id": variant_id, 4646 "dispatcherAgentData": dispatcherAgentData, 4647 }, 4648 success: function (response) { 4649 var address_id = dispatcherAgentData?.address_id; 4650 if (response.status == 'success') { 4651 // $(".shake-effect").effect("shake", { times: 0 }, 1200); 4652 cartHeader(address_id); 4653 if ($(`#added_button_href${product_id}`).length > 0) { 4654 $(`#add_button_href${product_id}`).hide(); 4655 $(`#added_button_href${product_id}`).show(); 4656 } 4657 $(that).next().show(); 4658 $(that).next().find('.minus').attr('data-id', response.cart_product_id); 4659 $(that).next().find('.plus').attr('data-id', response.cart_product_id); 4660 $(that).next().find('.input_qty').attr('id', "quantity_ondemand_" + response.cart_product_id); 4661 $(that).next().find('.qty-minus-ondemand').attr('data-parent_div_id', "show_plus_minus" + response.cart_product_id); 4662 $(that).next().attr('id', "show_plus_minus" + response.cart_product_id); 4663 4664 $(that).attr('id', "add_button_href" + response.cart_product_id); 4665 $(that).hide(); 4666 $(that).next().show(); 4667 4668 let parentdiv = $(that).parents('.classes_wrapper'); 4669 let addons_div = parentdiv.find('.addons-div'); 4670 if (addonoptids.length >= 0) { 4671 4672 let addons_div = parentdiv.find('.addons-div'); 4673 addons_div.hide(); 4674 } 4675 } else { 4676 //alert(response.message); 4677 Swal.fire({ 4678 // title: "Warning!", 4679 text: response.message, 4680 icon: "warning", 4681 button: "OK", 4682 }); 4683 } 4684 }, 4685 error: function (error) { 4686 var response = $.parseJSON(error.responseText); 4687 let error_messages = response.message; 4688 Swal.fire({ 4689 // title: "Warning!", 4690 text: error_messages, 4691 icon: "error", 4692 button: "OK", 4693 }); 4694 // alert(error_messages); 4695 4696 }, 4697 }); 4698} 4699 4700 4701 4702 4703// get time slots according to date 4704$(document).on('click', '.check-time-slots', function () { 4705 $('.check-time-slots').removeClass('ondemand_checked');
4706 let cur_date = $(this).val(); 4707 let cart_product_id = $(this).data("cart_product_id"); 4708 let product_vendor_id = $(this).data("product_vendor_id"); 4709 let product_id = $(this).data("product_id"); 4710 let product_tag = $(this).data("product_tag"); 4711 let product_category_type = $(this).data("product_category_type"); 4712 4713 getTimeSlots(cur_date, cart_product_id, product_vendor_id, product_id, product_tag, product_category_type); 4714 4715}); 4716 4717 4718 4719$(document).on('change', '.vendor_schedule_datetime, .vendor_schedule_slot', async function () { 4720 4721 var task_type = 'schedule'; 4722 let schedule_type = $(this).data("schedule_type"); 4723 let cart_product_id = $(this).data("cart_product_id"); 4724 let vendor_id = $(this).data("vendor_id"); 4725 4726 if (schedule_type != 'ProductDateTime') { 4727 if (schedule_type == 'date') { 4728 var schedule_dt = $(this).val(); 4729 var schedule_time = $(this).closest('.vendor_slot_cart').find('select').find(':selected').val(); 4730 4731 $.ajax({ 4732 type: "POST", 4733 dataType: 'json', 4734 url: check_schedule_slots, 4735 data: { date: schedule_dt, vendor_id: vendor_id }, 4736 success: function (response) { 4737 4738 if (response.status == "Success") { 4739 $('#vendor_schedule_slot_' + vendor_id).html(response.data); 4740 } else { 4741 success_error_alert('error', response.message, ".cart_response"); 4742 $('#vendor_schedule_slot_' + vendor_id).html(response.data); 4743 } 4744 }, 4745 error: function (error) { 4746 var response = $.parseJSON(error.responseText); 4747 success_error_alert('error', response.message, ".cart_response"); 4748 $("#order_placed_btn, .proceed_to_pay").removeAttr("disabled"); 4749 } 4750 4751 }); 4752 } else { 4753 var schedule_time = $(this).val(); 4754 var schedule_dt = $(this).closest('.vendor_slot_cart').find('.vendor_schedule_datetime').val(); 4755 $responst = await checkSlotAvailability(this); 4756 if ($responst == 0) { 4757 return false; 4758 } 4759 } 4760 } else { 4761 var schedule_dt = $(this).closest('.vendor_slot_cart').find('.vendor_schedule_datetime').val(); 4762 } 4763 4764 $.ajax({ 4765 type: "POST", 4766 dataType: 'json', 4767 url: update_cart_product_schedule, 4768 data: { task_type: task_type, schedule_dt: schedule_dt, schedule_time: schedule_time, cart_product_id: cart_product_id }, 4769 success: function (response) { 4770 if (response.status == "Success") { 4771 } 4772 }, 4773 error: function (error) { 4774 var response = $.parseJSON(error.responseText); 4775 success_error_alert('error', response.message, ".cart_response"); 4776 4777 } 4778 }); 4779 4780}); 4781// Check Slot Availability 4782async function checkSlotAvailability(obj) { 4783 var schedule_datetime = $(obj).closest('.vendor_slot_cart').find('.vendor_schedule_datetime').val(); 4784 var schedule_slot = $(obj).val(); 4785 var vendor_id = $(obj).data('vendor_id'); 4786 var res = 0; 4787 var rep = await $.ajax({ 4788 type: "GET", 4789 data: { 4790 "schedule_datetime": schedule_datetime, 4791 "schedule_slot": schedule_slot, 4792 "vendor_id": vendor_id, 4793 }, 4794 url: checkSlotOrdersUrl, 4795 headers: { 4796 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 4797 }, 4798 success: function (output) { 4799 // Check if orderCount is greaten equal to orders_per_slot //&& (output.orders_per_slot !=0) 4800 if (output.orderCount >= output.orders_per_slot && (output.orders_per_slot != 0)) { 4801 success_error_alert('error', 'All slots are full for the selected date & slot please choose another date or slot.', ".cart_response"); 4802 // Disable the place order button 4803 $('#order_placed_btn').attr("disabled", true); 4804 res = 0; 4805 } else { 4806 $(".cart_response ").find(".alert").css("display", "none"); 4807 // Enable the place order button 4808 $('#order_placed_btn').attr("disabled", false); 4809 res = 1; 4810 } 4811 }, 4812 error: function (output) { 4813 // console.log(output); 4814 res = 0; 4815 }, 4816 4817 }); 4818 return res; 4819} 4820 4821 4822$(document).on('click', '.selected-time', function () { 4823 4824 let selected_time = $(this).data("value");
4825 let cart_product_id = $(this).data("cart_product_id"); 4826 let dispatch_agent_id = ''; 4827 let agent_ids = $(this).data("agent_ids"); 4828 let show_agent = $(this).data("show_agent"); 4829 4830 //&& (show_agent != undefined && show_agent !='' ) 4831 if ((agent_ids != undefined && agent_ids != '')) { 4832 4833 dispatch_agent_id = agent_ids[0]; 4834 } 4835 if ((show_agent != undefined && show_agent == 1) && (agent_ids != undefined && agent_ids != '')) { 4836 showDispatchDriver(agent_ids, cart_product_id, ''); 4837 } 4838 $("#show_time" + cart_product_id).html(selected_time); 4839 $("#message_of_time" + cart_product_id).html("Your service will start between " + selected_time); 4840 $("#next-button-ondemand-3").show(); 4841 selected_time = (dispatch_agent_id != '' && dispatch_agent_id != undefined) ? $(this).data("value") : selected_time; 4842 var task_type = 'schedule'; 4843 //var schedule_date = $("#date_time_set_div" + cart_product_id + " input[name='booking_date" + cart_product_id + "']:checked").val(); 4844 4845 //var schedule_date = $("#date_time_set_div" + cart_product_id + " input[name='booking_date']:checked").val(); 4846 var schedule_date = $(`input[name='booking_date_${cart_product_id}']:checked`).val();// $("input[name='booking_date']:checked").val(); 4847 // var schedule_time = $(this).data("value"); 4848 //var specific_instructions = $("#specific_instructions").val(); 4849 // alert(specific_instructions); 4850 4851 //var schedule_dt = schedule_date + ' ' + schedule_time; 4852 var schedule_dt = schedule_date; 4853 if ((task_type == 'schedule') && (schedule_dt == '' || schedule_dt == undefined)) { 4854 success_error_alert('error', 'Schedule date time is required', ".cart_response"); 4855 return false; 4856 } 4857 4858 $.ajax({ 4859 type: "POST", 4860 dataType: 'json', 4861 url: update_cart_product_schedule, 4862 data: { task_type: task_type, schedule_dt: schedule_dt, schedule_time: selected_time, cart_product_id: cart_product_id, dispatch_agent_id: dispatch_agent_id }, 4863 success: function (response) { 4864 if (response.status == "Success") { 4865 } 4866 }, 4867 error: function (error) { 4868 var response = $.parseJSON(error.responseText); 4869 success_error_alert('error', response.message, ".cart_response"); 4870 4871 } 4872 }); 4873 4874}); 4875 4876$(document).delegate('#specific_instructions', 'blur focusout', function () { 4877 var specific_instructions = $("#specific_instructions").val(); 4878 $.ajax({ 4879 type: "POST", 4880 dataType: 'json', 4881 url: update_cart_schedule, 4882 data: { specific_instructions: specific_instructions }, 4883 success: function (response) { 4884 if (response.status == "Success") { 4885 } 4886 }, 4887 error: function (error) { 4888 var response = $.parseJSON(error.responseText); 4889 success_error_alert('error', response.message, ".cart_response"); 4890 4891 } 4892 }); 4893 4894}); 4895 4896// on demand add to cart 4897function getTimeSlots(cur_date, cart_product_id, product_vendor_id, product_id, product_tag, product_category_type) { 4898 $("#show_date" + cart_product_id).html(cur_date); 4899 $.ajax({ 4900 type: "post", 4901 dataType: "json", 4902 url: getTimeSlotsForOndemand, 4903 data: { 4904 "cur_date": cur_date, 4905 "cart_product_id": cart_product_id, 4906 "vendor_type": vendor_type, 4907 "product_vendor_id": product_vendor_id, 4908 "product_category_type": product_category_type, 4909 "product_id": product_id, 4910 "product_tag": product_tag 4911 }, 4912 success: function (response) { 4913 var booking_time_slick = $("#show-all-time-slots" + cart_product_id).find('.booking-time'); 4914 if (booking_time_slick.length > 0) { 4915 booking_time_slick.slick('unslick'); 4916 } 4917 $("#show-all-time-slots" + cart_product_id).show(); 4918 $('#show-all-time-slots' + cart_product_id).html(response); 4919 $("#show-all-time-slots" + cart_product_id + " .booking-time").slick({ 4920 dots: !1, 4921 infinite: !0, 4922 speed: 300, 4923 slidesToShow: 4, 4924 slidesToScroll: 6, 4925 responsive: [ 4926 { breakpoint: 1367, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, 4927 { breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: !0 } }, 4928 { breakpoint: 767, settings: { slidesToShow: 3, arrows: true, slidesToScroll: 3, infinite: !0 } }, 4929 { breakpoint: 480, settings: { slidesToShow: 2, arrows: true, slidesToScroll: 2 } }, 4930 ], 4931 }); 4932 }, 4933 error: function (error) { 4934 var response = $.parseJSON(error.responseText); 4935 let error_messages = response.message; 4936 Swal.fire({ 4937 // title: "Warning!", 4938 text: error_messages, 4939 icon: "error", 4940 button: "OK", 4941 }); 4942 // alert(error_messages); 4943 4944 }, 4945 }); 4946} 4947 4948/// *************************************** END show cart data for on demand services ***************************************************************///
4948////////////// 4949 4950 4951 4952 4953 4954// end on demand add to cart 4955$(document).delegate('.quantity-right-plus', 'click', function () { 4956 var quan = parseInt($('.quantity_count').val()); 4957 var hasInv = $('#hasInventory').val(); 4958 var str = $('#instock').val(); 4959 $message = 'Only ' + str + ' is available for this product'; 4960 var batch_count = $(this).data("batch_count"); 4961 // var res = parseInt(str.substring(10, str.length - 1)); 4962 if (batch_count > 0) 4963 batch_count = batch_count; 4964 else 4965 batch_count = 1; 4966 4967 if ((quan + batch_count) > str && hasInv == "1") { 4968 Swal.fire({ 4969 // title: "Warning!", 4970 text: $message, 4971 icon: "warning", 4972 button: "OK", 4973 }); 4974 // alert("Quantity is not available in stock"); 4975 $('.quantity_count').val(str); 4976 } else { 4977 var s = $(".qty-box .input-qty-number"), 4978 i = parseInt(s.val(), 10); 4979 isNaN(i) || s.val(i + batch_count); 4980 } 4981}); 4982$(document).delegate(".quantity-left-minus", "click", function () { 4983 4984 var batch_count = $(this).data("batch_count"); 4985 var str = $('#instock').val(); 4986 if (batch_count > 0 || str == '0') 4987 batch_count = batch_count; 4988 else 4989 batch_count = 1; 4990 4991 var minimum_order_count = $(this).data("minimum_order_count"); 4992 if (minimum_order_count > 0) 4993 minimum_order_count = minimum_order_count; 4994 else 4995 minimum_order_count = 1; 4996 // var res = parseInt(str.substring(10, str.length - 1)); 4997 4998 4999 // console.log(minimum_order_count); 5000 5001 var s = $(".qty-box .input-qty-number"), 5002 i = parseInt(s.val(), 10); 5003 5004 if (i - batch_count < minimum_order_count) { 5005 Swal.fire({ 5006 // title: "Warning!", 5007 text: "Minimum Quantity count is " + minimum_order_count, 5008 icon: "warning", 5009 button: "OK", 5010 }); 5011 //alert("Minimum Quantity count is " + minimum_order_count); 5012 return false; 5013 } 5014 !isNaN(i) && i > 1 && s.val(i - batch_count); 5015}); 5016$(document).delegate('.quantity_count', 'change', function () { 5017 var quan = $(this).val(); 5018 var str = $('#instock').val(); 5019 5020 if (parseInt(quan) > parseInt(str)) { 5021 Swal.fire({ 5022 // title: "Warning!", 5023 text: "Quantity is not available in stock", 5024 icon: "warning", 5025 button: "OK", 5026 }); 5027 // alert("Quantity is not available in stock"); 5028 $('.quantity_count').val(str); 5029 } 5030}); 5031 5032 5033window.success_error_alert = function success_error_alert(responseClass, message, element) { 5034 $(element).find(".alert").html(''); 5035 $(element).removeClass('d-none'); 5036 if (responseClass == 'success') { 5037 if ($(element).find(".alert").length > 0) { 5038 $(element).find(".alert").html("<div class='alert-success p-1'>" + message + "</div>").show(); 5039 } else { 5040 $(element).html(message).show(); 5041 } 5042 } else if (responseClass == 'error') { 5043 if ($(element).find(".alert").length > 0) { 5044 $(element).find(".alert").html("<div class='alert-danger p-1'>" + message + "</div>").show(); 5045 } else { 5046 $(element).html(message).show(); 5047 } 5048 } 5049 $('html, body').animate({ 5050 scrollTop: $(element).offset().top - 200 5051 }, 500); 5052 setTimeout(function () { 5053 $(element).addClass('d-none'); 5054 $(element).find(".alert").hide(); 5055 }, 8000); 5056} 5057 5058$(document).on('click', '.prescription-doc-remove', function (e) { 5059 var prescriptionId = $(this).data("prescription_id"); 5060 $.ajaxSetup({ 5061 headers: { 5062 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5063 } 5064 }); 5065 $.ajax({ 5066 type: "post", 5067 headers: { 5068 Accept: "application/json" 5069 }, 5070 url: get_product_prescription, 5071 dataType: 'json', 5072 data: { prescriptionId: prescriptionId, requestType: 'delete_prescription' }, 5073 beforeSend: function () { 5074 $(".loader_box").show(); 5075 }, 5076 success: function (response) { 5077 if (response.status == 'success') { 5078 $(".modal .close").click(); 5079 location.reload(); 5080 } 5081 }, 5082 complete: function () { 5083 $('.loader_box').hide(); 5084 } 5085 }); 5086}); 5087 5088$(document).on('click', '.prescription_btn', function (e) { 5089 e.preventDefault(); 5090 $(".uploaded-prescription").html(""); 5091 $(".uploaded-prescription-img").val(null); 5092 var cart = $(this).data("cart"); 5093 var product = $(this).data("product"); 5094 var vendor = $(this).data("vendor_id"); 5095 var cart_product_prescription = $(this).data("cart_product_prescription"); 5096 5097 $.ajaxSetup({ 5098 headers: { 5099 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5100 } 5101 }); 5102 $.ajax({ 5103 type: "post", 5104 headers: { 5105 Accept: "application/json" 5106 }, 5107 url: get_product_prescription, 5108 dataType: 'json', 5109 data: { cart: cart, product: product }, 5110 beforeSend: function () { 5111 $(".loader_box").show(); 5112 }, 5113 success: function (response) { 5114 $("#product_id").val(product); 5115 $("#vendor_idd").val(vendor); 5116 $("#uploaded_pres_count").val(cart_product_prescription); 5117 5118 // show-prescription-doc 5119 var showPrescriptionDoc = ''; 5120 $.each(response, function (key, res) { 5121 showPrescriptionDoc += '<div class="show-prescription-close"><i class="fa fa-times prescription-doc-remove" data-prescription_id="' + res.id + '" aria-hidden="true"></i><img src="' + res.prescription.proxy_url + '50/50' + res.prescription.image_path + '" alt="product-img" height="60"></div>' 5122 }); 5123 5124 $(".show-prescription-doc").html(showPrescriptionDoc); 5125 $('#prescription_form').modal('show'); 5126 }, 5127 complete: function () { 5128 $('.loader_box').hide(); 5129 } 5130 }); 5131}); 5132 5133$(document).on('click', '.submitPrescriptionForm', function (e) { 5134 e.preventDefault(); 5135 var form = document.getElementById('save_prescription_form'); 5136 var formData = new FormData(form); 5137 var route_uri = "add/product/prescription"; 5138 if (checkUploadFileLimit()) { 5139 $.ajaxSetup({ 5140 headers: { 5141 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5142 } 5143 }); 5144 $.ajax({ 5145 type: "post", 5146 headers: { 5147 Accept: "application/json" 5148 }, 5149 url: route_uri, 5150 data: formData, 5151 contentType: false, 5152 processData: false, 5153 beforeSend: function () { 5154 $(".loader_box").show(); 5155 }, 5156 success: function (response) { 5157 5158 if (response.status == 'success') { 5159 $(".modal .close").click(); 5160 location.reload(); 5161 } else {
5162 $(".show_all_error.invalid-feedback").show(); 5163 $(".show_all_error.invalid-feedback").text(response.message); 5164 } 5165 return response; 5166 }, 5167 complete: function () { 5168 $('.loader_box').hide(); 5169 } 5170 }); 5171 } 5172}); 5173 5174function checkUploadFileLimit() { 5175 var limit = 5; 5176 var uploaded_prescription_count = $('.uploaded-prescription img').length; 5177 var already_uploaded = $('#uploaded_pres_count').val(); 5178 var total_files = parseInt(uploaded_prescription_count) + parseInt(already_uploaded); 5179 if (total_files > limit) { 5180 $('#save_prescription_form .validate-file-error').text("You can select max " + limit + " file."); 5181 $('#prescription_file').val(''); 5182 return false; 5183 } else { 5184 $('#save_prescription_form .validate-file-error').text(""); 5185 return true; 5186 } 5187} 5188 5189//prescription upload for bidding 5190 5191// $(document).on('click', '.prescription-doc-remove', function (e) { 5192// var prescriptionId = $(this).data("prescription_id"); 5193// $.ajaxSetup({ 5194// headers: { 5195// 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5196// } 5197// }); 5198// $.ajax({ 5199// type: "post", 5200// headers: { 5201// Accept: "application/json" 5202// }, 5203// url: get_product_prescription, 5204// dataType: 'json', 5205// data: {prescriptionId:prescriptionId,requestType:'delete_prescription'}, 5206// beforeSend: function () { 5207// $(".loader_box").show(); 5208// }, 5209// success: function (response) { 5210// if (response.status == 'success') { 5211// $(".modal .close").click(); 5212// location.reload(); 5213// } 5214// }, 5215// complete: function () { 5216// $('.loader_box').hide(); 5217// } 5218// }); 5219// }); 5220 5221// $(document).on('click', '.bid_prescription_btn', function (e) { 5222// e.preventDefault(); 5223// $(".uploaded-bidding-prescription").html(""); 5224// $(".uploaded-bidding-prescription-img").val(null); 5225// var ID = $(this).data("id"); 5226// $.ajaxSetup({ 5227// headers: { 5228// 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5229// } 5230// }); 5231// $.ajax({ 5232// type: "post", 5233// headers: { 5234// Accept: "application/json" 5235// }, 5236// url: get_bid_prescription, 5237// dataType: 'json', 5238// data: {id:ID}, 5239// beforeSend: function () { 5240// $(".loader_box").show(); 5241// }, 5242// success: function (response) { 5243 5244// // show-prescription-doc 5245// var showPrescriptionDoc = ''; 5246// $.each(response, function (key, res) { 5247// showPrescriptionDoc += '<div class="show-prescription-close"><i class="fa fa-times prescription-doc-remove" data-prescription_id="'+res.id+'" aria-hidden="true"></i><img src="'+res.prescription.proxy_url+'50/50'+res.prescription.image_path+'" alt="product-img" height="60"></div>' 5248// }); 5249 5250// $(".show-bid_prescription-doc").html(showPrescriptionDoc); 5251// $('#bid_prescription_form').modal('show'); 5252// }, 5253// complete: function () { 5254// $('.loader_box').hide(); 5255// } 5256// }); 5257// }); 5258 5259// $(document).on('click', '.submitBidPrescriptionForm', function (e) { 5260// e.preventDefault(); 5261// var form = document.getElementById('savebidprescriptionform'); 5262// var formData = new FormData(form); 5263// var route_uri = "add/bid/prescription"; 5264 5265// $.ajaxSetup({ 5266// headers: { 5267// 'X-CSRF-TOKEN': $('input[name="_token"]').val() 5268// } 5269// }); 5270// $.ajax({ 5271// type: "post", 5272// headers: { 5273// Accept: "application/json" 5274// }, 5275// url: route_uri, 5276// data: formData, 5277// contentType: false, 5278// processData: false, 5279// beforeSend: function () { 5280// $(".loader_box").show(); 5281// }, 5282// success: function (response) { 5283 5284// if (response.status == 'success') { 5285// $(".modal .close").click(); 5286// location.reload(); 5287// } else {
5288// $(".show_all_error.invalid-feedback").show(); 5289// $(".show_all_error.invalid-feedback").text(response.message); 5290// } 5291// return response; 5292// }, 5293// complete: function () { 5294// $('.loader_box').hide(); 5295// } 5296// }); 5297 5298// }); 5299 5300$(document).on('click', '#tasknow', function () { 5301 //$('#schedule_div').attr("style", "display: none !important"); 5302}); 5303$(document).on('click', '#taskschedule', function () { 5304 // $('#schedule_div').attr("style", "display: flex !important"); 5305}); 5306// var x = document.getElementById("schedule_div").autofocus; 5307 5308 5309///////////////// tip after order place ///////////////////////////////// 5310 5311window.creditTipAfterOrder = function creditTipAfterOrder(amount, payment_option_id, transaction_id, order_number) { 5312 $.ajax({ 5313 type: "POST", 5314 dataType: 'json', 5315 url: credit_tip_url, 5316 data: { tip_amount: amount, payment_option_id: payment_option_id, transaction_id: transaction_id, order_number: order_number }, 5317 success: function (response) { 5318 // var currentUrl = window.location.href; 5319 location.href = path; 5320 if (response.status == "Success") { 5321 // $("#topup_wallet").modal("hide"); 5322 // $(".table.wallet-transactions table-body").html(''); 5323 $(".wallet_balance").text(response.data.wallet_balance); 5324 success_error_alert('success', response.message, "#wallet_response"); 5325 // let wallet_transactions_template = _.template($('#wallet_transactions_template').html()); 5326 // $(".table.wallet-transactions table-body").append(wallet_transactions_template({wallet_transactions:response.data.transactions})); 5327 } else { 5328 $("#wallet_response .message").removeClass('d-none'); 5329 success_error_alert('error', response.message, "#wallet_response .message"); 5330 $("#topup_wallet_btn, .topup_wallet_confirm").attr("disabled", false); 5331 } 5332 }, 5333 error: function (error) { 5334 var response = $.parseJSON(error.responseText); 5335 $("#wallet_response .message").removeClass('d-none'); 5336 success_error_alert('error', response.message, "#wallet_response .message"); 5337 $("#topup_wallet_btn, .topup_wallet_confirm").removeAttr("disabled"); 5338 }, 5339 complete: function (data) { 5340 $('.spinner-overlay').hide(); 5341 } 5342 }); 5343} 5344 5345// ***************************** End tip after order place ****************************/// 5346 5347$(document).on('click', '.validate_promo_code_btn', function () { 5348 let amount = $(this).attr('data-amount'); 5349 let cart_id = $(this).attr('data-cart_id'); 5350 let vendor_id = $(this).attr('data-vendor_id'); 5351 let promocode = $(document).find('.manual_promocode_input').val(); 5352 if (promocode && promocode != "") { 5353 // let coupon_id = $(this).data('coupon_id'); 5354 $.ajax({ 5355 type: "POST", 5356 dataType: 'json', 5357 url: validate_promocode_coupon_url, 5358 data: { cart_id: cart_id, vendor_id: vendor_id, amount: amount, promocode: promocode }, 5359 success: function (response) { 5360 if (response.status == "Success") { 5361 $('.validate_promo_div').find('.apply_promo_code_btn').attr('data-amount', amount); 5362 $('.validate_promo_div').find('.apply_promo_code_btn').attr('data-cart_id', cart_id); 5363 $('.validate_promo_div').find('.apply_promo_code_btn').attr('data-vendor_id', vendor_id); 5364 $('.validate_promo_div').find('.apply_promo_code_btn').attr('data-coupon_id', response.data.id); 5365 $('.validate_promo_div').find('.apply_promo_code_btn').trigger('click'); 5366 $('#refferal-modal').modal('hide'); 5367 cartHeader(); 5368 } 5369 }, 5370 error: function (reject) { 5371 if (reject.status === 422) { 5372 var message = $.parseJSON(reject.responseText); 5373 sweetAlert.error(message.message, "");
5374 $(".invalid-feedback.manual_promocode").html("<strong>" + message.message + "</strong>"); 5375 } 5376 } 5377 }); 5378 } else { 5379 sweetAlert.error("Enter a Promocode", ""); 5380 $(".invalid-feedback.manual_promocode").html("<strong>Please enter promocode</strong>"); 5381 } 5382}); 5383 5384 5385function subscriptionPaymentOPtions(payment_option_id) { 5386 switch (payment_option_id) { 5387 5388 case 3: 5389 paymentViaPaypal('', payment_option_id); 5390 break; 5391 5392 case 4: 5393 stripe.createSource(card).then(function (result) { 5394 if (result.error) { 5395 alert("as"); 5396 $('#stripe_card_error').html(result.error.message); 5397 $("#subscription_confirm_btn").attr("disabled", false); 5398 } else { 5399 paymentAjaxData.payment_option_id = payment_option_id; 5400 var three_d_secure = result.source.card.three_d_secure; 5401 // if(three_d_secure == 'required'){ 5402 stripe.createPaymentMethod({ 5403 type: 'card', 5404 card: card, 5405 }).then(stripePaymentMethodHandler); 5406 // }else{ 5407 // stripe.createToken(card).then(function(result) { 5408 // if (result.error) { 5409 // $('#stripe_card_error').html(result.error.message); 5410 // $(".subscription_confirm_btn").attr("disabled", false); 5411 // } else { 5412 // $("#card_last_four_digit").val(result.token.card.last4); 5413 // $("#card_expiry_month").val(result.token.card.exp_month); 5414 // $("#card_expiry_year").val(result.token.card.exp_year); 5415 // paymentViaStripe(result.token.id, '', payment_option_id, '', ''); 5416 // } 5417 // }); 5418 // } 5419 } 5420 }); 5421 5422 // stripe.createToken(card).then(function (result) { 5423 // if (result.error) { 5424 // $('#stripe_card_error').html(result.error.message); 5425 // _this.attr("disabled", false); 5426 // } else { 5427 // $("#card_last_four_digit").val(result.token.card.last4); 5428 // $("#card_expiry_month").val(result.token.card.exp_month); 5429 // $("#card_expiry_year").val(result.token.card.exp_year); 5430 // paymentViaStripe(result.token.id, '', payment_option_id, '', ''); 5431 // } 5432 // }); 5433 5434 break; 5435 5436 case 8: 5437 5438 inline.createToken().then(function (result) { 5439 if (result.error) { 5440 $('#yoco_card_error').html(result.error.message); 5441 _this.attr("disabled", false); 5442 } else { 5443 const token = result; 5444 paymentViaYoco(token.id, '', ''); 5445 } 5446 }).catch(function (error) { 5447 // Re-enable button now that request is complete 5448 _this.attr("disabled", false); 5449 //alert("error occured: " + error); 5450 Swal.fire({ 5451 // title: "Warning!", 5452 text: "error occured: " + error, 5453 icon: "error", 5454 button: "OK", 5455 }); 5456 }); 5457 5458 break; 5459 5460 case 9: 5461 paymentViaPaylink('', ''); 5462 break; 5463 5464 case 10: 5465 paymentViaRazorpay_wallet('', payment_option_id); 5466 break; 5467 5468 case 12: 5469 paymentViaSimplify('', ''); 5470 break; 5471 5472 case 13: 5473 paymentViaSquare('', ''); 5474 break; 5475 5476 case 14: 5477 paymentViaOzow('', ''); 5478 break; 5479 5480 case 15: 5481 paymentViaPagarme('', ''); 5482 break; 5483 5484 case 17: 5485 paymentViaCheckout('', ''); 5486 break; 5487 5488 case 18: 5489 paymentViaAuthorize('', ''); 5490 break; 5491 5492 case 19: 5493 paymentViaStripeFPX('', 19, ''); 5494 break; 5495 5496 case 20: 5497 payWithKPG(''); 5498 break; 5499 5500 case 21: 5501 payWithVivaWallet(''); 5502 break; 5503 5504 case 22: 5505 payWithCcAvenue(''); 5506 break; 5507 5508 case 23: 5509 paymentViaEasyPaisaPay(''); 5510 break; 5511 5512 case 24: 5513 paymentViaCashfree(''); 5514 break; 5515 5516 case 25: 5517 payWithEasebuss(''); 5518 break; 5519 5520 case 26: 5521 paymentViaToyyibPay(''); 5522 break; 5523 5524 case 27: 5525 paymentViaPaytab('', ''); 5526 break; 5527 5528 case 29: 5529 payWithMvodafone('', ''); 5530 break; 5531 5532 case 30: 5533 payWithFlutterWave('', ''); 5534 break; 5535 5536 case 32: 5537 payphoneButton('', ''); 5538 break; 5539 5540 case 33: 5541 paymentViaBraintree(''); 5542 break; 5543 5544 case 34: 5545 payWithWindcave('', ''); 5546 break; 5547 5548 case 35: 5549 payWithPaytech('', ''); 5550 break; 5551 5552 case 36: 5553 paymentViaMyCash('', payment_option_id, ''); 5554 break; 5555 5556 case 37:
5557 stripeOXXOInitialize(); 5558 paymentViaStripeOXXO('', payment_option_id, ''); 5559 break; 5560 5561 case 39: 5562 paymentViaStripeIdeal('', payment_option_id, ''); 5563 break; 5564 case 40: 5565 paymentViaUseRede('', payment_option_id, ''); 5566 break; 5567 case 41: 5568 payWithOpenPay('', payment_option_id, ''); 5569 break; 5570 case 42: 5571 paymentViaDpoSubscription('', payment_option_id, ''); 5572 break; 5573 case 43: 5574 paymentViaUPay('', payment_option_id, ''); 5575 break; 5576 case 44: 5577 paymentViaConekta('', payment_option_id, ''); 5578 break; 5579 case 45: 5580 paymentViaTelr('', payment_option_id, ''); 5581 break; 5582 case 46: 5583 paymentViaMastercard('subscription'); 5584 case 47: 5585 paymentViaKhalti('', ''); 5586 break; 5587 case 48: 5588 paymentViaMtnMomo('', payment_option_id, ''); 5589 break; 5590 case 49: 5591 paymentViaplugnpay('', payment_option_id, ''); 5592 break; 5593 case 50: 5594 paymentViazulpay('', payment_option_id, ''); 5595 break; 5596 5597 case 52: 5598 paymentViaSkipCash('', payment_option_id, ''); 5599 break; 5600 5601 case 55: 5602 paymentViaDataTrans('', payment_option_id, ''); 5603 break; 5604 case 56: 5605 paymentViaOboPay('', payment_option_id); 5606 break; 5607 5608 case 57: 5609 payWithPesapal(payment_option_id, ''); 5610 break; 5611 5612 case 58: 5613 payWithPowerTrans(payment_option_id, ''); 5614 break; 5615 case 59: 5616 payWithLivees(payment_option_id); 5617 break; 5618 case 62: 5619 paymentViaMpesaSafari('', payment_option_id, ''); 5620 break; 5621 case 65: 5622 paymentViaTotalpay('', payment_option_id, ''); 5623 break; 5624 case 67: 5625 paymentViaThawanipg('', payment_option_id, ''); 5626 break; 5627 case 69: 5628 paymentViaHitpay('', payment_option_id, ''); 5629 break; 5630 case 70: 5631 paymentViaCyberSourcePay('', payment_option_id, ''); 5632 break; 5633 case 71: 5634 paymentViaOrangePay('', payment_option_id, ''); 5635 break; 5636 case 72: 5637 paymentViaTabby('', payment_option_id, ''); 5638 break; 5639 case 73: 5640 paymentViaTamara('', payment_option_id, ''); 5641 break; 5642 5643 } 5644 5645} 5646 5647function cartPaymentOptions(payment_option_id, address_id, tip, delivery_type) { 5648 var action = payment_option_id; 5649 switch (action) { 5650 case '3': 5651 paymentViaPaypal(address_id, payment_option_id); 5652 break; 5653 5654 case '4': 5655 stripe.createSource(card).then(function (result) { 5656 if (result.error) { 5657 $('#stripe_card_error').html(result.error.message); 5658 $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 5659 } else { 5660 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5661 if (order != '') { 5662 paymentAjaxData.address_id = address_id; 5663 paymentAjaxData.order_number = order.order_number; 5664 paymentAjaxData.payment_option_id = payment_option_id; 5665 5666 // localStorage.setItem('order_number', order.order_number); 5667 // localStorage.setItem('payment_option', payment_option_id); 5668 var three_d_secure = result.source.card.three_d_secure; 5669 // if(three_d_secure == 'required'){ 5670 stripe.createPaymentMethod({ 5671 type: 'card', 5672 card: card, 5673 }).then(stripePaymentMethodHandler); 5674 // paymentViaStripeSource(result.source.id, address_id, payment_option_id,delivery_type, order); 5675 // }else{ 5676 // stripe.createToken(card).then(function(result) { 5677 // if (result.error) { 5678 // $('#stripe_card_error').html(result.error.message); 5679 // $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 5680 // } else { 5681 // paymentViaStripe(result.token.id, address_id, payment_option_id, delivery_type, order); 5682 // } 5683 // }); 5684 // } 5685 } else { 5686 return false;
5687 } 5688 } 5689 }); 5690 5691 break; 5692 5693 case '5': 5694 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5695 if (order != '') { 5696 paymentViaPaystack(address_id, order); 5697 } else { 5698 return false; 5699 } 5700 // paymentViaPaystack(address_id, payment_option_id); 5701 break; 5702 5703 case '6': 5704 paymentViaPayfast(address_id, payment_option_id); 5705 break; 5706 5707 case '7': 5708 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5709 if (order != '') { 5710 paymentViaMobbex(address_id, order); 5711 } else { 5712 return false; 5713 } 5714 break; 5715 5716 case '8': 5717 var order; 5718 inline.createToken().then(function (result) { 5719 if (result.error) { 5720 5721 $('#yoco_card_error').html(result.error.message); 5722 $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 5723 } else { 5724 const token = result; 5725 // alert("card successfully tokenised: " + token.id); 5726 payment_option_id = 8; 5727 5728 order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5729 if (order != '') { 5730 paymentViaYoco(token.id, address_id, order); 5731 } else { 5732 return false; 5733 } 5734 } 5735 }).catch(function (error) { 5736 // Re-enable button now that request is complete 5737 //alert("error occured: " + error); 5738 Swal.fire({ 5739 // title: "Warning!", 5740 text: "error occured: " + error, 5741 icon: "error", 5742 button: "OK", 5743 }); 5744 }); 5745 5746 break; 5747 5748 case '9': 5749 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5750 if (order != '') { 5751 paymentViaPaylink(address_id, order); 5752 } else { 5753 return false; 5754 } 5755 break; 5756 5757 case '10': 5758 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5759 if (order != '') { 5760 paymentViaRazorpay(address_id, order, 'cart'); 5761 } else { 5762 return false; 5763 } 5764 break; 5765 5766 case '12': 5767 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5768 if (order != '') { 5769 paymentViaSimplify(address_id, order); 5770 } else { 5771 return false; 5772 } 5773 break; 5774 5775 case '13': 5776 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5777 if (order != '') { 5778 paymentViaSquare(address_id, order); 5779 } else { 5780 return false; 5781 } 5782 break; 5783 5784 case '14': 5785 paymentViaOzow('', ''); 5786 break; 5787 5788 case '15': 5789 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5790 if (order != '') { 5791 paymentViaPagarme(address_id, order); 5792 } else { 5793 return false; 5794 } 5795 break; 5796 5797 case '17': 5798 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5799 if (order != '') { 5800 paymentViaCheckout(address_id, order); 5801 } else { 5802 return false; 5803 } 5804 break; 5805 5806 case '18': 5807 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5808 if (order != '') { 5809 paymentViaAuthorize(address_id, order); 5810 } else { 5811 return false; 5812 } 5813 break; 5814 5815 case '19': 5816 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5817 if (order != '') { 5818 paymentViaStripeFPX(address_id, payment_option_id, order); 5819 } 5820 else { 5821 return false;
5822 } 5823 break; 5824 5825 case '20': //Kongapay 5826 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5827 if (order != '') { 5828 5829 payWithKPG(order); 5830 } 5831 else { 5832 return false; 5833 } 5834 break; 5835 5836 case '21': 5837 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5838 if (order != '') { 5839 //Viva Wallet 5840 payWithVivaWallet(order); 5841 } 5842 else { 5843 return false; 5844 } 5845 break; 5846 5847 case '22': 5848 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5849 if (order != '') { 5850 payWithCcAvenue(order); 5851 } 5852 else { 5853 return false; 5854 } 5855 break; 5856 5857 case '23': 5858 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5859 if (order != '') { 5860 paymentViaEasyPaisaPay(order); 5861 } 5862 else { 5863 return false; 5864 } 5865 break; 5866 5867 case '24': 5868 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5869 if (order != '') { 5870 paymentViaCashfree(address_id, payment_option_id, order); 5871 } 5872 else { 5873 return false; 5874 } 5875 break; 5876 5877 case '25': 5878 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5879 if (order != '') { 5880 //Easebuzz payment gateway 5881 payWithEasebuss(address_id, payment_option_id, order); 5882 } else { 5883 return false; 5884 } 5885 break; 5886 5887 case '26': 5888 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5889 if (order != '') { 5890 //alert(12345677888); 5891 paymentViaToyyibPay(address_id, payment_option_id, order); 5892 } 5893 else { 5894 return false; 5895 } 5896 5897 5898 break; 5899 5900 case '27': 5901 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5902 if (order != '') { 5903 paymentViaPaytab(address_id, order); 5904 } else { 5905 return false; 5906 } 5907 5908 5909 break; 5910 5911 case '28': 5912 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5913 if (order != '') { 5914 //Easebuzz payment gateway 5915 payWithVNpay(address_id, payment_option_id, order); 5916 } 5917 else { 5918 return false; 5919 } 5920 5921 5922 break; 5923 5924 case '29': 5925 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5926 if (order != '') { 5927 //Mvodafone 5928 payWithMvodafone(order); 5929 5930 } 5931 else { 5932 return false; 5933 } 5934 break; 5935 5936 case '30': 5937 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5938 if (order != '') { 5939 //FlutterWave 5940 payWithFlutterWave(order); 5941 } 5942 else { 5943 return false; 5944 } 5945 break; 5946 5947 case '31': 5948 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5949 if (order != '') { 5950 //PayU 5951 payWithPayU(address_id, payment_option_id, order); 5952 } 5953 else { 5954 return false; 5955 } 5956 break; 5957 5958 case '32': 5959 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5960 if (order != '') { 5961 //payphoneButton 5962 payphoneButton(order); 5963 } 5964 else { 5965 return false; 5966 } 5967 break; 5968 5969 case '33': 5970 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5971 if (order != '') { 5972 paymentViaBraintree(address_id, order); 5973 } else { 5974 return false;
5975 } 5976 break; 5977 5978 case '34': 5979 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5980 if (order != '') { 5981 //payWithWindcave 5982 payWithWindcave(order); 5983 } 5984 else { 5985 return false; 5986 } 5987 break; 5988 5989 case '35': 5990 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 5991 if (order != '') { 5992 payWithPaytech(order); 5993 } 5994 else { 5995 return false; 5996 } 5997 break; 5998 5999 case '36': 6000 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6001 if (order != '') { 6002 paymentViaMyCash(address_id, payment_option_id, order); 6003 } 6004 else { 6005 return false; 6006 } 6007 break; 6008 6009 case '37': 6010 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6011 if (order != '') { 6012 stripeOXXOInitialize(); 6013 paymentViaStripeOXXO(address_id, payment_option_id, order); 6014 } 6015 else { 6016 return false; 6017 } 6018 break; 6019 6020 case '39': 6021 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6022 if (order != '') { 6023 paymentViaStripeIdeal(address_id, payment_option_id, order); 6024 } 6025 else { 6026 return false; 6027 } 6028 break; 6029 case '40': 6030 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6031 if (order != '') { 6032 paymentViaUseRede(address_id, payment_option_id, order); 6033 } 6034 else { 6035 return false; 6036 } 6037 break; 6038 case '41': 6039 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6040 if (order != '') { 6041 payWithOpenPay(address_id, payment_option_id, order); 6042 } else { 6043 return false; 6044 } 6045 break; 6046 case '42': 6047 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6048 // console.log('order', order); 6049 if (order != '') { 6050 //payWithDpo 6051 payWithDpo(order); 6052 } 6053 else { 6054 return false; 6055 } 6056 break; 6057 case '43': 6058 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6059 // console.log('order', order); 6060 if (order != '') { 6061 paymentViaUPay(address_id, order); 6062 } 6063 else { 6064 return false; 6065 } 6066 break; 6067 case '44': 6068 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6069 if (order != '') { 6070 paymentViaConekta(address_id, order); 6071 } 6072 else { 6073 return false; 6074 } 6075 break; 6076 case '45': 6077 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6078 if (order != '') { 6079 paymentViaTelr(address_id, order); 6080 } 6081 else { 6082 return false; 6083 } 6084 break; 6085 6086 case '46': { 6087 let order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6088 paymentViaMastercard('cart', order); 6089 break; 6090 } 6091 6092 case '47': 6093 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6094 if (order != '') { 6095 paymentViaKhalti(address_id, order, payment_from = 'cart'); 6096 } 6097 else { 6098 return false; 6099 } 6100 break; 6101 case '48': 6102 6103 //console.log('address_id',address_id,'payment_option_id',payment_option_id,'tip',tip); 6104 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6105 if (order != '') { 6106 paymentViaMtnMomo(address_id, order, payment_from = 'cart'); 6107 } 6108 else { 6109 return false;
6110 } 6111 break; 6112 6113 case '49': 6114 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6115 if (order != '') { 6116 paymentViaplugnpay(address_id, payment_option_id, order); 6117 } 6118 else { 6119 return false; 6120 } 6121 break; 6122 6123 case '50': 6124 if (creditCardValidation()) { 6125 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6126 if (order != '') { 6127 paymentViazulpay(address_id, payment_option_id, order); 6128 } 6129 else { 6130 return false; 6131 } 6132 } else { 6133 $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 6134 } 6135 break; 6136 case '52': 6137 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6138 if (order != '') { 6139 paymentViaSkipCash(address_id, order); 6140 } else { 6141 return false; 6142 } 6143 break; 6144 6145 case '53': 6146 6147 cardJson = { 6148 'cno': $('#card-element-nmi').val(), 6149 'dt': $('#date-element-nmi').val(), 6150 'cv': $('#cvv-element-nmi').val(), 6151 'name': 'nmi', 6152 } 6153 if (cardValidation(cardJson)) { 6154 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6155 if (order != '') { 6156 paymentNmipay(address_id, payment_option_id, order, cardJson); 6157 } 6158 else { 6159 return false; 6160 } 6161 } else { 6162 $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 6163 } 6164 break; 6165 6166 case '55': 6167 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6168 if (order != '') { 6169 paymentViaDataTrans(address_id, payment_option_id, order); 6170 } 6171 break; 6172 6173 case '56': 6174 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6175 if (order != '') { 6176 paymentViaOboPay(address_id, payment_option_id, order); 6177 } else { 6178 return false; 6179 } 6180 break; 6181 6182 case '57': 6183 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6184 if (order != '') { 6185 payWithPesapal(payment_option_id, order); 6186 } else { 6187 return false; 6188 } 6189 break; 6190 6191 case '58': 6192 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6193 if (order != '') { 6194 payWithPowerTrans(payment_option_id, order); 6195 } 6196 break; 6197 case '59': 6198 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6199 if (order != '') { 6200 payWithLivees(address_id, payment_option_id, order); 6201 } 6202 break; 6203 case '62': 6204 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6205 if (order != '') { 6206 paymentViaMpesaSafari(address_id, payment_option_id, order); 6207 } 6208 break; 6209 case '65': 6210 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6211 if (order != '') { 6212 paymentViaTotalpay(address_id, payment_option_id, order); 6213 } 6214 break; 6215 case '67': 6216 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6217 if (order != '') { 6218 paymentViaThawanipg(address_id, payment_option_id, order); 6219 } else { 6220 return false; 6221 } 6222 break; 6223 case '69': 6224 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6225 if (order != '') { 6226 paymentViaHitpay(address_id, payment_option_id, order); 6227 } 6228 break; 6229 case '70': 6230 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6231 if (order != '') { 6232 paymentViaOranngepay('', payment_option_id, ''); 6233 paymentViaCyberSourcePay('', payment_option_id, ''); 6234 } 6235 break; 6236 case '71': 6237 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6238 if (order != '') { 6239 paymentViaOrangePay('', payment_option_id, ''); 6240 } 6241 break; 6242 case '72': 6243 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6244 if (order != '') { 6245 paymentViaTabby(address_id, payment_option_id, order); 6246 } 6247 break; 6248 case '73': 6249 var order = placeOrderBeforePayment(address_id, payment_option_id, tip); 6250 if (order != '') { 6251 paymentViaTamara(address_id, payment_option_id, order); 6252 } 6253 break; 6254 } 6255 6256} 6257 6258 6259function walletPaymentOPtions(payment_option_id) { 6260 6261 switch (payment_option_id) { 6262 case 3: 6263 paymentViaPaypal('', payment_option_id); 6264 break; 6265 6266 case 4:
6267 stripe.createSource(card).then(function (result) { 6268 if (result.error) { 6269 $('#stripe_card_error').html(result.error.message); 6270 $("#order_placed_btn, .proceed_to_pay").attr("disabled", false); 6271 } else { 6272 paymentAjaxData.payment_option_id = payment_option_id; 6273 var three_d_secure = result.source.card.three_d_secure; 6274 // if(three_d_secure == 'required'){ 6275 stripe.createPaymentMethod({ 6276 type: 'card', 6277 card: card, 6278 }).then(stripePaymentMethodHandler); 6279 // paymentViaStripeSource(result.source.id, address_id, payment_option_id,delivery_type, order); 6280 6281 } 6282 }); 6283 6284 break; 6285 6286 case 5: 6287 paymentViaPaystack(); 6288 break; 6289 6290 case 6: 6291 paymentViaPayfast(); 6292 break; 6293 6294 case 7: 6295 6296 break; 6297 6298 case 8: 6299 inline.createToken().then(function (result) { 6300 if (result.error) { 6301 $('#yoco_card_error').html(result.error.message); 6302 $(".topup_wallet_confirm").attr("disabled", false); 6303 } else { 6304 const token = result; 6305 paymentViaYoco(token.id, '', ''); 6306 } 6307 }).catch(function (error) { 6308 // Re-enable button now that request is complete 6309 Swal.fire({ 6310 // title: "Warning!", 6311 text: "error occured: " + error, 6312 icon: "error", 6313 button: "OK", 6314 }); 6315 6316 }); 6317 6318 break; 6319 6320 case 9: 6321 paymentViaPaylink('', ''); 6322 break; 6323 6324 case 10: 6325 paymentViaRazorpay_wallet('', payment_option_id); 6326 break; 6327 6328 case 11: 6329 paymentViaGCash('', ''); 6330 break; 6331 6332 case 12: 6333 paymentViaSimplify('', ''); 6334 break; 6335 6336 case 13: 6337 paymentViaSquare('', ''); 6338 break; 6339 6340 case 14: 6341 paymentViaOzow('', ''); 6342 break; 6343 6344 case 15: 6345 paymentViaPagarme('', ''); 6346 break; 6347 6348 case 17: 6349 paymentViaCheckout('', ''); 6350 break; 6351 6352 case 18: 6353 paymentViaAuthorize('', ''); 6354 break; 6355 6356 case 19: 6357 paymentViaStripeFPX('', payment_option_id, ''); 6358 break; 6359 6360 case 20: //Kongapay 6361 payWithKPG(''); 6362 break; 6363 6364 case 21: 6365 payWithVivaWallet(''); 6366 break; 6367 6368 case 22: 6369 payWithCcAvenue(''); 6370 break; 6371 6372 case 23: 6373 paymentViaEasyPaisaPay(''); 6374 break; 6375 6376 case 24: 6377 paymentViaCashfree('', payment_option_id, ''); 6378 break; 6379 6380 case 25: 6381 payWithEasebuss('', payment_option_id, ''); 6382 break; 6383 6384 case 26: 6385 paymentViaToyyibPay('', payment_option_id, ''); 6386 break; 6387 6388 case 27: 6389 paymentViaPaytab('', payment_option_id, ''); 6390 break; 6391 6392 case 28: 6393 payWithVNpay('', payment_option_id, ''); 6394 break; 6395 6396 case 29: 6397 payWithMvodafone('', payment_option_id, ''); 6398 break; 6399 6400 case 30: 6401 payWithFlutterWave('', payment_option_id, ''); 6402 break; 6403 6404 case 32: 6405 payphoneButton('', payment_option_id, ''); 6406 break; 6407 6408 case 33: 6409 paymentViaBraintree('', payment_option_id, ''); 6410 break; 6411 6412 case 34: 6413 payWithWindcave('', payment_option_id, ''); 6414 break; 6415 6416 case 35: 6417 payWithPaytech('', payment_option_id, ''); 6418 break; 6419 6420 case 36: 6421 paymentViaMyCash('', payment_option_id, ''); 6422 break; 6423 6424 case 37: 6425 stripeOXXOInitialize(); 6426 paymentViaStripeOXXO('', payment_option_id, ''); 6427 break; 6428 6429 case 39: 6430 paymentViaStripeIdeal('', payment_option_id, ''); 6431 break; 6432 case 40: 6433 paymentViaUseRede('', payment_option_id, ''); 6434 break; 6435 case 41: 6436 payWithOpenPay('', payment_option_id, ''); 6437 break; 6438 case 42: 6439 paymentViaDpo('', payment_option_id, ''); 6440 break; 6441 case 43: 6442 paymentViaUPay('', payment_option_id, ''); 6443 break; 6444 case 44: 6445 paymentViaConekta('', payment_option_id, ''); 6446 break; 6447 case 45: 6448 paymentViaTelr('', payment_option_id, ''); 6449 break; 6450 case 46: 6451 paymentViaMastercard('wallet'); 6452 break; 6453 case 47: 6454 paymentViaKhalti('', ''); 6455 break; 6456 case 48: 6457 paymentViaMtnMomo('', payment_option_id, ''); 6458 break; 6459 case 49: 6460 paymentViaplugnpay('', payment_option_id, ''); 6461 break; 6462 case 50: 6463 paymentViazulpay('', payment_option_id, ''); 6464 break; 6465 6466 case 52: 6467 paymentViaSkipCash('', payment_option_id, ''); 6468 break; 6469 6470 case 53: 6471 cardJson = { 6472 'cno': $('#card-element-nmi').val(), 6473 'dt': $('#date-element-nmi').val(), 6474 'cv': $('#cvv-element-nmi').val(), 6475 'name': 'nmi', 6476 } 6477 if (cardValidation(cardJson)) { 6478 paymentNmipay('', payment_option_id, '', cardJson); 6479 } 6480 6481 break; 6482 6483 case 55: 6484 paymentViaDataTrans('', payment_option_id, null); 6485 break; 6486 6487 case 56: 6488 paymentViaOboPay('', payment_option_id); 6489 6490 case 57: 6491 payWithPesapal(payment_option_id, ''); 6492 break; 6493 6494 case 58: 6495 payWithPowerTrans(payment_option_id, ''); 6496 break; 6497 case 59: 6498 payWithLivees(payment_option_id, payment_from = 'wallet'); 6499 break; 6500 case 62: 6501 paymentViaMpesaSafari('', payment_option_id, ''); 6502 break; 6503 case 65: 6504 paymentViaTotalpay('', payment_option_id, ''); 6505 break; 6506 case 67: 6507 paymentViaThawanipg('', payment_option_id, ''); 6508 break; 6509 case 69: 6510 paymentViaHitpay('', payment_option_id, ''); 6511 break; 6512 case 70: 6513 paymentViaCyberSourcePay('', payment_option_id, ''); 6514 break; 6515 case 71: 6516 paymentViaOrangePay('', payment_option_id, ''); 6517 break; 6518 case 72: 6519 paymentViaTabby('', payment_option_id, ''); 6520 break; 6521 case 73: 6522 paymentViaTamara('', payment_option_id, ''); 6523 break; 6524 } 6525} 6526 6527//}); 6528 6529function numberWithCommas(x) { 6530 // x=x.toFixed(2) 6531 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 6532} 6533 6534$(".related-css").slick({ dots: !1, infinite: !0, speed: 300, slidesToShow: 4, centerMode: !0, centerPadding: "20px", slidesToScroll: 4, arrows: !0, responsive: [{ breakpoint: 1200, settings: { slidesToShow: 3, slidesToScroll: 3 } }, { breakpoint: 991, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }, { breakpoint: 767, settings: { slidesToShow: 2, arrows: !0, slidesToScroll: 2 } }] }); 6535 6536$('#add_edit_address').on('hidden.bs.modal', function () { 6537 $("html").removeClass("intro"); 6538}); 6539 6540$(".add_edit_address_btn").click(function () { 6541 $("html").addClass("intro"); 6542}); 6543 6544 6545// nine template slider 6546$('.categories_slider').slick({ 6547 slidesToShow: 7, 6548 slidesToScroll: 1, 6549 arrows: true, 6550 dots: false, 6551 speed: 300, 6552 infinite: true, 6553 autoplaySpeed: 5000, 6554 autoplay: true, 6555 responsive: [ 6556 { 6557 breakpoint: 991, 6558 settings: { 6559 slidesToShow: 4, 6560 } 6561 }, 6562 { 6563 breakpoint: 767, 6564 settings: { 6565 slidesToShow: 3, 6566 } 6567 }, 6568 { 6569 breakpoint: 576, 6570 settings: { 6571 slidesToShow: 2, 6572 } 6573 } 6574 ] 6575}); 6576 6577$('.featured_slider').slick({ 6578 slidesToShow: 5, 6579 slidesToScroll: 1, 6580 arrows: true, 6581 dots: false, 6582 speed: 300, 6583 infinite: true, 6584 autoplaySpeed: 5000, 6585 autoplay: true, 6586 responsive: [ 6587 { 6588 breakpoint: 1440, 6589 settings: { 6590 slidesToShow: 4, 6591 } 6592 }, 6593 { 6594 breakpoint: 991, 6595 settings: { 6596 slidesToShow: 3, 6597 } 6598 }, 6599 { 6600 breakpoint: 767, 6601 settings: { 6602 slidesToShow: 2, 6603 } 6604 }, 6605 { 6606 breakpoint: 576, 6607 settings: { 6608 slidesToShow: 1, 6609 } 6610 } 6611 ] 6612}); 6613 6614 6615 6616 6617$('.category_responsive').slick({ 6618 dots: false, 6619 infinite: false, 6620 speed: 300, 6621 slidesToShow: 6, 6622 slidesToScroll: 1, 6623 responsive: [ 6624 { 6625 breakpoint: 1024, 6626 settings: { 6627 slidesToShow: 5, 6628 slidesToScroll: 1, 6629 infinite: true, 6630 dots: false 6631 } 6632 }, 6633 { 6634 breakpoint: 600, 6635 settings: { 6636 slidesToShow: 2, 6637 slidesToScroll: 2 6638 } 6639 }, 6640 { 6641 breakpoint: 480, 6642 settings: { 6643 slidesToShow: 2, 6644 slidesToScroll: 1 6645 } 6646 } 6647 ] 6648}); 6649 6650 6651if (typeof action_type !== "undefined" && action_type === "p2p") { 6652 const initReadMore = new readMore(); 6653 initReadMore.bootstrap(); 6654} 6655 6656 6657// AOS.init({ disable: 'mobile' });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.