PageSourceSearch

https://www.lychee-fruits.co.il/wp-content/themes/lychee/js/main.js?v=1790925123

js lychee-fruits.co.il collected 2026-10-02 07:13:13 UTC 16,561 bytes, 571 lines download raw bytes

1$(document).ready(function ($) {
2  window.addEventListener("scroll", onScroll)
3
4  function onScroll(e) {
5    var distanceY = window.pageYOffset || document.documentElement.scrollTop
6    shrinkOn = 30
7
8    if (distanceY > shrinkOn) {
9      $("header").addClass("scrolled")
10      $(".fruit-of-the-day").addClass("scrolled")
11    } else {
12      $("header").removeClass("scrolled")
13      $(".fruit-of-the-day").removeClass("scrolled")
14    }
15  }
16  onScroll()
17
18  var menuVisible = false
19  $(".toggle-button").click(function () {
20    if (!menuVisible) {
21      $(".mobile-menu-cont").addClass("open")
22      $(".toggle-button").addClass("open")
23      menuVisible = true
24    } else {
25      $(".mobile-menu-cont").removeClass("open")
26      $(".toggle-button").removeClass("open")
27      menuVisible = false
28    }
29  })
30
31  $(".mobile-menu-cont").removeClass("open")
32
33  $(".mobile-menu ul.sub-menu").hide()
34
35  $(".mobile-menu .sub-menu").each(function (index) {
36    var mainMenuItem = $(this).parent(".menu-item")
37    var arrow = jQuery(
38      "<div class='open-arrow'><i class='fa fa-angle-down' aria-hidden='true'></i></div>"
39    )
40    $(mainMenuItem).append(arrow)
41
42    $(arrow).click(function (e) {
43      $(mainMenuItem).find("ul.sub-menu").slideToggle()
44      $(arrow).toggleClass("rotate")
45    })
46  })
47
48  $(".open-share-icons").on("click", function () {
49    $(".share-icons").slideToggle()
50  })
51
52  ScrollReveal().reveal(".categories .box, .products.reveal .box", {
53    scale: 1,
54    duration: 1000,
55    interval: 50,
56    mobile: true,
57    origin: "bottom",
58    distance: "50px"
59  })
60})
61
62$(document).ready(function ($) {
63  $(".variations-select").on("change", function () {
64    var option = $(this).find("option:selected")
65    var id = $(option).val()
66    var price = $(option).attr("price")
67    var add_url = $(option).attr("add-url")
68    var cont = $(this).parent()
69
70    $(cont).find(".add_to_cart_button").attr("data-product_id", id)
71    $(cont).find(".add_to_cart_button").attr("href", add_url)
72    $(cont).find(".price .number").text(price)
73  })
74
75  $(".variation").on("click", function (event) {
76    $parent = $(this).closest(".product")
77    $parent.find(".variation").removeClass("selected")
78    $(this).addClass("selected")
79
80    var id = $(this).attr("value")
81    var price = $(this).attr("price")
82    var add_url = $(this).attr("add-url")
83
84    $parent.find(".add_to_cart_button").attr("data-product_id", id)
85    $parent.find(".add_to_cart_button").attr("href", add_url)
86    $parent.find(".price").text(price)
87  })
88
89  $(".cart-related .cat").on("click", function () {
90    $(".cart-related .cat").removeClass("selected")
91    $(this).addClass("selected")
92    var cat_id = $(this).attr("term-id")
93
94    loadRelatedProducts(cat_id)
95  })
96
97  $(".cart-related .related-products .slider").addClass("owl-carousel")
98  $(".cart-related .related-products .slider").addClass("owl-theme")
99
100  $(".cart-related .related-products .slider").owlCarousel({
101    items: 3,
102    loop: true,
103    margin: 35,
104    nav: true,
105    navText: [
106      '<div class="cont"><i class="fa fa-angle-left" aria-hidden="true"></i></div>',
107      '<div class="cont"><i class="fa fa-angle-right" aria-hidden="true"></i></div>'
108    ],
109    dots: false,
110    autoplay: false,
111
112    responsive: {
113      0: {
114        items: 2,
115        margin: 15
116      },
117      600: {
118        items: 2
119      },
120      700: {
121        items: 3
122      },
123      900: {
124        items: 4
125      },
126      1200: {
127        items: 5
128      }
129    }
130  })
131
132  $("#shipping_c_city").on("change", function () {
133    var option = $(this).find("option:selected")
134    var id = $(option).val()
135    id = id.split(" - ")[0]
136    load_shipping_price(id)
137  })
138
139  $("#shipping_c_hospital").on("change", function () {
140    var option = $(this).find("option:selected")
141    var id = $(option).val()
142    id = id.split(" - ")[0]
143
144    // const optionText = $(option).val().split(" - ")[1]
145
146    // console.log(optionText)
147
148    // $("#shipping_address_1").val(optionText)
149    load_shipping_price(id)
150  })
151
152  $("#shipping_c_self_pickup").on("change", function () {
153    var option = $(this).find("option:selected")
154    var id = $(option).val()
155    id = id.split(" - ")[0]
156    load_shipping_price(id)
157  })
158
159  shippingFields.forEach(function (item) {
160    var field = $("#" + item)
161    field.hide()
162  })
163
164  showShippingFieldsGroup("city")
165
166  $("input[type=radio][name=shipping_type]").change(function () {
167    showShippingFieldsGroup(this.value)
168    clearShippingFields(this.value)
169  })
170
171  $(".next-button").on("click", function () {
172    var el = $("." + $(this).attr("goto"))
173    $("html, body").animate(
174      {
175        scrollTop: $(el).offset().top - 100
176      },
177      1000
178    )
179  })
180
181  $(".checkout-date-picker").attr("autocomplete", "off")
182  $(".checkout-date-picker").val("")
183  $("#shipping_time").val("0")
184
185  clearAllShippingFields()
186
187  set_shipping_times()
188
189  jQuery(document.body).on("added_to_cart", function () {
190    jQuery(document.body).trigger("update_checkout")
191  })
192})
193
194function compareDates(date_1_d, date_2_d) {
195  var result =
196    date_1_d.getDate() == date_2_d.getDate() &&
197    date_1_d.getMonth() == date_2_d.getMonth() &&
198    date_1_d.getFullYear() == date_2_d.getFullYear()
199  return result
200}
201
202function flipDateFormat(date) {
203  date_ar = date.split("-")
204  date = date_ar[1] + "-" + date_ar[0] + "-" + date_ar[2]
205  return date
206}
207
208function shippingDateChanged(date) {
209  date_ar = date.split("-")
210
211  date = flipDateFormat(date)
212
213  $("#shipping_time").val("0")
214
215  $("#shipping_time .no-orders").remove()
216  $("#shipping_time .special-times").remove()
217
218  if (compareDates(new Date(date), new Date())) {
219    set_shipping_times()
220  } else {
221    reset_shipping_times()
222  }
223  check_special_shipping_dates(date)
224}
225
226function check_special_shipping_dates(date) {
227  var ch_date = new Date(date)
228
229  var d = new Date(date)
230  if (d.getDay() == 5) applySpecialDate("friday")
231  if (d.getDay() == 6) disable_shipping_times()
232}
233
234function applySpecialDate(type) {
235  if (type == "holliday") {
236    $("#shipping_time_field select option").eq(1).attr("disabled", true)
237    $("#shipping_time_field select option").eq(2).attr("disabled", true)
238    $("#shipping_time_field select option").eq(3).attr("disabled", true)
239    $("#shipping_time_field select option").eq(4).attr("disabled", true)
240
241    var option = $("<option class='special-times' value='08:00-16:00'>08:00-16:00</option>")
242    $(option).insertAfter($("#shipping_time_field select option").eq(0))
243  }
244  if (type == "hollidayeve") {
245    $("#shipping_time_field select option").eq(1).attr("disabled", true)
246    $("#shipping_time_field select option").eq(2).attr("disabled", true)
247    $("#shipping_time_field select option").eq(3).attr("disabled", true)
248  }
249  if (type == "rangeholliday") {
250    $("#shipping_time_field select option").eq(1).attr("disabled", true)
251    $("#shipping_time_field select option").eq(2).attr("disabled", true)
252    $("#shipping_time_field select option").eq(3).attr("disabled", true)
253
254    var option = $("<option class='special-times' value='08:00-16:00'>08:00-16:00</option>")
255    $(option).insertAfter($("#shipping_time_field select option").eq(0))
256  }
257  if (type == "no_orders") {
258    disable_shipping_times()
259    $("#shipping_time_field select").prepend(
260      "<option class='no-orders' value='' selected disabled>אין הזמנות ליום זה</option>"
261    )
262  }
263  if (type == "phone_only") {
264    disable_shipping_times()
265    $("#shipping_time_field select").prepend(
266      "<option class='no-orders' value='' selected disabled>ניתן לבצע רק הזמנה טלפונית</option>"
267    )
268  }
269  if (type == "friday") {
270    $("#shipping_time_field select option").eq(1).attr("disabled", true)
271    $("#shipping_time_field select option").eq(2).attr("disabled", true)
272    $("#shipping_time_field select option").eq(3).attr("disabled", true)
273    $("#shipping_time_field select option").eq(4).attr("disabled", true)
274    $("#shipping_time_field select option").eq(5).attr("disabled", true)
275    $("#shipping_time_field select option").eq(6).attr("disabled", true)
276    var option = $("<option class='special-times' value='8:00-14:00'>8:00-14:00</option>")
277    $(option).insertAfter($("#shipping_time_field select option").eq(1))
278  }
279}
280
281function reset_shipping_times() {
282  $("#shipping_time_field select option").attr("disabled", false)
283}
284function disable_shipping_times() {
285  $("#shipping_time_field select option").attr("disabled", true)
286}
287
288function set_shipping_times() {
289  $("#shipping_time_field select option").attr("disabled", false)
290
291  // $("#shipping_time_field select option").attr("disabled", false)
292  // var dt = new Date(cur_date_string)
293  // if (dt.getHours() >= 12) $("#shipping_time_field select option").eq(1).attr("disabled", true)
294  // if (dt.getHours() >= 16) $("#shipping_time_field select option").eq(2).attr("disabled", true)
295  // if (dt.getHours() >= 20) $("#shipping_time_field select option").eq(3).attr("disabled", true)
296}
297
298var shippingFields = [
299  "shipping_c_city_field",
300  "shipping_c_hospital_field",
301  "shipping_c_self_pickup_field",
302  "shipping_first_name_field",
303  "shipping_phone_field",
304  "shipping_phone_2_field",
305  "shipping_address_1_field",
306  "shipping_building_field",
307  "shipping_knisa_field",
308  "shipping_dira_field",
309  "shipping_koma_field",
310  "work_place_field",
311  "shipping_hospital_section_field",
312  "shipping_hospital_room_field"
313]
314
315var shippingFieldGroups = [
316  {
317    name: "city",
318    items: [
319      "shipping_c_city_field",
320      "shipping_first_name_field",
321      "shipping_phone_field",
322      "shipping_phone_2_field",
323      "shipping_address_1_field",
324      "shipping_building_field",
325      "shipping_knisa_field",
326      "shipping_dira_field",
327      "shipping_koma_field",
328      "work_place_field"
329    ]
330  },
331  {
332    name: "self",
333    items: ["shipping_c_self_pickup_field", "shipping_first_name_field", "shipping_phone_field"]
334  },
335  {
336    name: "hospital",
337    items: [
338      "shipping_c_hospital_field",
339      "shipping_first_name_field",
340      "shipping_phone_field",
341      "shipping_hospital_section_field",
342      "shipping_hospital_room_field"
343    ]
344  }
345]
346
347function showShippingFieldsGroup(group_name) {
348  shippingFieldGroups.forEach(function (group) {
349    if (group.name == group_name) {
350      shippingFields.forEach(function (item) {
351        var field = $("#" + item)
352        field.hide()
353      })
354
355      group.items.forEach(function (item) {
356        var field = $("#" + item)
357        field.show()
358      })
359    }
360  })
361}
362
363function clearShippingFields(group_name) {
364  shippingFieldGroups.forEach(function (group) {
365    if (group.name != group_name) {
366      group.items.forEach(function (item) {
367        var field = $("#" + item)
368        field.find("input").val("")
369        field.find("select").val(0).change()
370      })
371    }
372  })
373}
374
375function clearAllShippingFields() {
376  shippingFieldGroups.forEach(function (group) {
377    group.items.forEach(function (item) {
378      var field = $("#" + item)
379      field.find("input").val("")
380      field.find("select").val(0).change()
381    })
382  })
383}
384
385function load_shipping_price(id) {
386  $.ajax({
387    url: ajax_url,
388    type: "POST",
389
390    data: {
391      action: "set_shipping_price",
392      post_id: id
393    },
394    success: function (data, status, xhr) {
395      jQuery(document.body).trigger("update_checkout")
396    }
397  })
398}
399
400function loadRelatedProducts(cat_id) {
401  $(".related-products .slider").animate({ opacity: 0 }, function () {
402    $.ajax({
403      type: "POST",
404      url: ajax_url,
405      data: {
406        action: "load_cat_products",
407        cat: cat_id
408      },
409      beforeSend: function () {
410        $(".related-products").addClass("loading")
411        var h = $(".related-products").height()
412        $(".related-products").height(h)
413        $(".related-products").empty()
414      },
415      success: function (answer) {
416        $(".related-products").removeClass("loading")
417        $(".related-products").append(
418          '<div class="products slider" style="opacity:0">' + answer + "</div>"
419        )
420
421        $(".cart-related .related-products .slider").addClass("owl-carousel")
422        $(".cart-related .related-products .slider").addClass("owl-theme")
423        $(".cart-related .related-products .slider").owlCarousel({
424          items: 3,
425          loop: true,
426          margin: 35,
427          nav: true,
428          navText: [
429            '<div class="cont"><i class="fa fa-angle-left" aria-hidden="true"></i></div>',
430            '<div class="cont"><i class="fa fa-angle-right" aria-hidden="true"></i></div>'
431          ],
432          dots: false,
433          autoplay: false,
434
435          responsive: {
436            0: {
437              items: 2,
438              margin: 15
439            },
440            600: {
441              items: 2
442            },
443            700: {
444              items: 3
445            },
446            900: {
447              items: 4
448            },
449            1200: {
450              items: 5
451            }
452          }
453        })
454
455        $(".related-products .slider").animate({ opacity: 1 })
456      },
457      eror: function () {
458        console.log("error during ajax request")
459      }
460    })
461  })
462}
463
464$(document).ready(function ($) {
465  $(".fruit-of-the-day .button").on("click", function () {
466    $(".fruit-of-the-day .popup").toggleClass("open")
467  })
468
469  jQuery("#register-button").on("click", function (e) {
470    e.preventDefault()
471
472    var newUserEmail = jQuery("#new-useremail").val()
473    jQuery.ajax({
474      type: "POST",
475      url: ajax_url,
476      data: {
477        action: "register_user_front_end",
478        new_user_email: newUserEmail
479      },
480      success: function (results) {
481        $(".bar-form .message").hide()
482        $(".bar-form .message").html(results)
483        $(".bar-form .message").slideDown()
484      },
485      error: function (results) {
486        $(".bar-form .message").html(results)
487      }
488    })
489  })
490
491  document.addEventListener(
492    "wpcf7mailsent",
493    function (event) {
494      var inputs = event.detail.inputs
495      thankyouPage = getFieldValueByName(inputs, "thankyou-page")
496      if (thankyouPage) window.location = thankyouPage
497    },
498    false
499  )
500})
501
502function getFieldValueByName(ar, name) {
503  var result = ""
504  ar.forEach(function (item) {
505    if (item.name == name) result = item.value
506  })
507  return result
508}
509
510$(document).ready(function ($) {
511  jQuery(".search-ls").on("click", function (e) {
512    $(".search-mobile-hide").addClass("shows")
513  })
514})
515
516// Setup fly cart for product card: add to cart button
517$(document).ready(function ($) {
518  const $cartButton = document.querySelector("#HeaderCartBurbleIcon")
519
520  jQuery(document.body).on("added_to_cart", function (e, fragments, cart_hash, $button) {
521    const $addToCartButton = document.querySelector(
522      `[data-product_id="${$button[0].getAttribute("data-product_id")}"]`
523    )
524
525    const $flyCartIcon = document.querySelector(
526      `[data-product_id="product-card-${$button[0].getAttribute("data-product_id")}"]`
527    )
528
529    console.log($flyCartIcon)
530
531    if (!$flyCartIcon) return
532
533    $flyCartIcon.addEventListener("animationend", () => {
534      $flyCartIcon.classList.remove("active")
535    })
536
537    $flyCartIcon.classList.add("active")
538
539    let { top: submitTop, left: submitLeft } = $addToCartButton.getBoundingClientRect()
540    let { top: cartTop, left: cartLeft } = $cartButton.getBoundingClientRect()
541
542    $flyCartIcon.style.setProperty("--l-submit-btn-top", `${submitTop}px`)
543    $flyCartIcon.style.setProperty("--l-submit-btn-left", `${submitLeft}px`)
544
545    $flyCartIcon.style.setProperty("--l-cart-burble-top", `${cartTop}px`)
546    $flyCartIcon.style.setProperty("--l-cart-burble-left", `${cartLeft}px`)
547  })
548})
549
550// Setup fly cart: main-product
551$(document).ready(function ($) {
552  const $submitButton = document.querySelector(".single_add_to_cart_button")
553  const $flyCartIcon = document.querySelector("#SingleProductFlyCard")
554  const $cartButton = document.querySelector("#HeaderCartBurbleIcon")
555
556  $flyCartIcon.addEventListener("animationend", () => {
557    $flyCartIcon.classList.remove("active")
558  })
559
560  jQuery(document.body).on("added_to_cart", function (e, fragments, cart_hash, $button) {
561    $flyCartIcon.classList.add("active")
562    let { top: submitTop, left: submitLeft } = $submitButton.getBoundingClientRect()
563    let { top: cartTop, left: cartLeft } = $cartButton.getBoundingClientRect()
564
565    $flyCartIcon.style.setProperty("--l-submit-btn-top", `${submitTop}px`)
566    $flyCartIcon.style.setProperty("--l-submit-btn-left", `${submitLeft}px`)
567
568    $flyCartIcon.style.setProperty("--l-cart-burble-top", `${cartTop}px`)
569    $flyCartIcon.style.setProperty("--l-cart-burble-left", `${cartLeft}px`)
570  })
571})

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.