{"id":22240,"date":"2019-04-16T21:42:53","date_gmt":"2019-04-16T19:42:53","guid":{"rendered":"https:\/\/stage.campersoimex.it\/?page_id=22240"},"modified":"2024-11-12T09:26:09","modified_gmt":"2024-11-12T08:26:09","slug":"category-light","status":"publish","type":"page","link":"https:\/\/stage.campersoimex.it\/en\/rent\/category-light\/","title":{"rendered":"Category Light"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;fade&#8221; border_width_bottom=&#8221;1px&#8221; border_color_bottom=&#8221;#d9d9d9&#8243; box_shadow_style=&#8221;preset3&#8243; box_shadow_color=&#8221;rgba(117,117,117,0.3)&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_header title=&#8221;EASY&#8221; subhead=&#8221;The most compact and responsive vans for a dynamic couple&#8217;s holiday&#8221; text_orientation=&#8221;center&#8221; button_one_text=&#8221;Book now&#8221; button_one_url=&#8221;https:\/\/stage.campersoimex.it\/en\/rent\/#myanchor&#8221; admin_label=&#8221;noleggio categoria easy&#8221; _builder_version=&#8221;4.18.0&#8243; title_level=&#8221;h2&#8243; title_font=&#8221;Times New Roman|700|on||||||&#8221; title_text_align=&#8221;center&#8221; title_text_color=&#8221;#1e4e83&#8243; title_font_size=&#8221;50px&#8221; subhead_font=&#8221;Raleway||||||||&#8221; subhead_text_align=&#8221;center&#8221; subhead_text_color=&#8221;#1e4e83&#8243; background_color=&#8221;#f2f2f2&#8243; background_layout=&#8221;light&#8221; title_font_size_tablet=&#8221;&#8221; title_font_size_phone=&#8221;&#8221; title_font_size_last_edited=&#8221;on|desktop&#8221; z_index_tablet=&#8221;500&#8243; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover=&#8221;null&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover=&#8221;null&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover=&#8221;null&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover=&#8221;null&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover=&#8221;null&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover=&#8221;null&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover=&#8221;null&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover=&#8221;null&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover=&#8221;null&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover=&#8221;null&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover=&#8221;null&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover=&#8221;null&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover=&#8221;null&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover=&#8221;null&#8221;][\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;7px|0px|16px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;3px|0px|27px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;37px|||||&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h4 style=\"text-align: center;\">2025 Seasonal dates<a href=\"https:\/\/stage.campersoimex.it\/wp-content\/uploads\/2020\/01\/LEGENDACalendario.jpg\"><br \/><\/a><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-431252 aligncenter size-medium\" src=\"https:\/\/stage.campersoimex.it\/wp-content\/uploads\/2023\/02\/season-300x49.png\" alt=\"\" width=\"300\" height=\"49\" \/><\/h4>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/stage.campersoimex.it\/wp-content\/uploads\/2024\/11\/calendario-2025-en.png&#8221; title_text=&#8221;calendario-2025-en&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_phone=&#8221;&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;calendario&#8221; _builder_version=&#8221;4.27.0&#8243; hover_enabled=&#8221;0&#8243; z_index_tablet=&#8221;500&#8243; border_radii=&#8221;on|0px|0px|0px|0px&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_image src=&#8221;https:\/\/stage.campersoimex.it\/wp-content\/uploads\/2023\/07\/easy-cat-eng.png&#8221; title_text=&#8221;easy-cat-eng&#8221; show_in_lightbox=&#8221;on&#8221; align_tablet=&#8221;center&#8221; align_phone=&#8221;&#8221; align_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;prezzi&#8221; _builder_version=&#8221;4.27.0&#8243; hover_enabled=&#8221;0&#8243; z_index_tablet=&#8221;500&#8243; border_radii=&#8221;on|0px|0px|0px|0px&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.18.0&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<ul>\n<li>Prices are in Euros per day, VAT included. Week end starts from Friday at 5.30 pm<\/li>\n<li>Vans are delivered with full fuel oil, gas, water, and empty recovery tanks.<\/li>\n<li>The renter is obliged to return the vehicle with the tank completely full and empty recovery tanks.<\/li>\n<li>The return of the vehicle must take place within midnight of the last day of rental.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.18.0&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Rental Rates Calculator<\/h3>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.18.0&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]\n  <script>\n\n  \/\/ Parse the JSON string into a JavaScript object\n\n  var months = JSON.parse('{\"1\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\",\"31\":\"L\"},\"2\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\"},\"3\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\",\"31\":\"L\"},\"4\":{\"1\":\"L\",\"2\":\"M\",\"3\":\"M\",\"4\":\"M\",\"5\":\"M\",\"6\":\"M\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"M\"},\"5\":{\"1\":\"M\",\"2\":\"M\",\"3\":\"M\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"M\",\"8\":\"M\",\"9\":\"M\",\"10\":\"M\",\"11\":\"M\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"M\",\"30\":\"M\",\"31\":\"M\"},\"6\":{\"1\":\"M\",\"2\":\"M\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"M\",\"16\":\"M\",\"17\":\"M\",\"18\":\"M\",\"19\":\"M\",\"20\":\"M\",\"21\":\"M\",\"22\":\"M\",\"23\":\"M\",\"24\":\"M\",\"25\":\"M\",\"26\":\"M\",\"27\":\"M\",\"28\":\"M\",\"29\":\"M\",\"30\":\"M\"},\"7\":{\"1\":\"M\",\"2\":\"M\",\"3\":\"M\",\"4\":\"M\",\"5\":\"M\",\"6\":\"M\",\"7\":\"M\",\"8\":\"M\",\"9\":\"M\",\"10\":\"M\",\"11\":\"M\",\"12\":\"M\",\"13\":\"M\",\"14\":\"M\",\"15\":\"M\",\"16\":\"M\",\"17\":\"M\",\"18\":\"M\",\"19\":\"M\",\"20\":\"M\",\"21\":\"M\",\"22\":\"M\",\"23\":\"M\",\"24\":\"M\",\"25\":\"M\",\"26\":\"M\",\"27\":\"M\",\"28\":\"M\",\"29\":\"M\",\"30\":\"M\",\"31\":\"M\"},\"8\":{\"1\":\"H\",\"2\":\"H\",\"3\":\"H\",\"4\":\"H\",\"5\":\"H\",\"6\":\"H\",\"7\":\"H\",\"8\":\"H\",\"9\":\"H\",\"10\":\"H\",\"11\":\"H\",\"12\":\"H\",\"13\":\"H\",\"14\":\"H\",\"15\":\"H\",\"16\":\"H\",\"17\":\"H\",\"18\":\"H\",\"19\":\"H\",\"20\":\"H\",\"21\":\"H\",\"22\":\"H\",\"23\":\"H\",\"24\":\"M\",\"25\":\"M\",\"26\":\"M\",\"27\":\"M\",\"28\":\"M\",\"29\":\"M\",\"30\":\"M\",\"31\":\"M\"},\"9\":{\"1\":\"M\",\"2\":\"M\",\"3\":\"M\",\"4\":\"M\",\"5\":\"M\",\"6\":\"M\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\"},\"10\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\",\"31\":\"L\"},\"11\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\"},\"12\":{\"1\":\"L\",\"2\":\"L\",\"3\":\"L\",\"4\":\"L\",\"5\":\"L\",\"6\":\"L\",\"7\":\"L\",\"8\":\"L\",\"9\":\"L\",\"10\":\"L\",\"11\":\"L\",\"12\":\"L\",\"13\":\"L\",\"14\":\"L\",\"15\":\"L\",\"16\":\"L\",\"17\":\"L\",\"18\":\"L\",\"19\":\"L\",\"20\":\"L\",\"21\":\"L\",\"22\":\"L\",\"23\":\"L\",\"24\":\"L\",\"25\":\"L\",\"26\":\"L\",\"27\":\"L\",\"28\":\"L\",\"29\":\"L\",\"30\":\"L\",\"31\":\"L\"}}');\n\n  \/\/console.log(months);\n\n\n\n  const rateWeekend = {};\n\n  const rate100kmPerDay = {};\n\n  const rate300kmPerDay = {};\n\n  const sanitationRate = 50;\n\n  const consumableRate = 15;\n\n\n\n  \n    rateWeekend['Young'] = {\n\n      L: 319,\n\n      M: 335,\n\n      H: 0,\n\n    };\n\n    rate100kmPerDay['Young'] = {\n\n      L: 89,\n\n      M: 115,\n\n      H: 149,\n\n    };\n\n    rate300kmPerDay['Young'] = {\n\n      L: 109,\n\n      M: 139,\n\n      H: 169,\n\n    };\n\n    \n\n    \n    rateWeekend['Exclusive'] = {\n\n      L: 329,\n\n      M: 349,\n\n      H: 0,\n\n    };\n\n    rate100kmPerDay['Exclusive'] = {\n\n      L: 99,\n\n      M: 125,\n\n      H: 169,\n\n    };\n\n    rate300kmPerDay['Exclusive'] = {\n\n      L: 129,\n\n      M: 149,\n\n      H: 189,\n\n    };\n\n    \n\n    \n    rateWeekend['Magnum'] = {\n\n      L: 339,\n\n      M: 359,\n\n      H: 0,\n\n    };\n\n    rate100kmPerDay['Magnum'] = {\n\n      L: 110,\n\n      M: 129,\n\n      H: 179,\n\n    };\n\n    rate300kmPerDay['Magnum'] = {\n\n      L: 135,\n\n      M: 159,\n\n      H: 199,\n\n    };\n\n    \n\n    \n    rateWeekend['Easy'] = {\n\n      L: 299,\n\n      M: 315,\n\n      H: 0,\n\n    };\n\n    rate100kmPerDay['Easy'] = {\n\n      L: 89,\n\n      M: 100,\n\n      H: 115,\n\n    };\n\n    rate300kmPerDay['Easy'] = {\n\n      L: 99,\n\n      M: 115,\n\n      H: 125,\n\n    };\n\n    \n\n    \n\n\n<\/script>\n\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\">\n\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/flatpickr\/4.6.13\/plugins\/confirmDate\/confirmDate.min.css\">\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script>\n\n<!-- <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/plugins\/confirmDate\/confirmDate.js\"><\/script> -->\n\n\n\n  <form id=\"camper-calc\" class=\"\" name=\"myform\" method=\"POST\" action=\"\">\n\n\t<div class=\"row\">\n\t\t\n\t<div class=\"form-fields\">\n\n    <div class=\"form-group col-md-3\">\n\n      <label for=\"\">Pickup Date <\/label>\t\n\n      <div class=\"input-group date\" id=\"noleggio_dal_datetimepicker\">\t\t\n\n        <input id=\"pickup-date\" type=\"text\" class=\"form-control\" name=\"noleggio_dal\" value=\"\" readonly=\"readonly\">\t\t\n\n      <\/div>\n\n    <\/div>\n\n    <div class=\"form-group col-md-3\">\n\n      <label for=\"\">Time<\/label>\n\n      <div class=\"input-group\">\t\t\n\n        <input type=\"text\" value=\"17:00\" disabled=\"disabled\" style=\"background:#f4f4f4\">\t\n\n      <\/div>\n\n    <\/div>\n\n    <div class=\"form-group col-md-3\">\n\n      <label for=\"\">Drop off Date<\/label>\t\n\n      <div class=\"input-group date\" id=\"noleggio_al_datetimepicker\">\t\t\n\n        <input id=\"dropoff-date\" type=\"text\" class=\"form-control\" name=\"noleggio_al\" value=\"\" readonly=\"readonly\">\n\n      <\/div>\n\n    <\/div>\n\n    <div class=\"form-group col-md-3\">\n\n      <label for=\"\">Time<\/label>\n\n      <div class=\"input-group\">\t\t\n\n        <input type=\"text\" value=\"24:00\" disabled=\"disabled\" style=\"background:#f4f4f4\">\t\n\n      <\/div>\n\n    <\/div>\n\n\n\n     <div class=\"form-group col-md-6\">\n\n      <label for=\"categoria_veicoli_id\">Vehicle categories<\/label>\n\n      <select class=\"form-control\" name=\"category\">\n\n        <option>Young<\/option><option>Exclusive<\/option><option>Magnum<\/option><option>Easy<\/option>\n      <\/select>\n\n     <\/div>\n\t\n\t  <\/div>\n\n     <!-- <input type=\"submit\" value=\"Calculate\" \/> -->\n\n     \n\n     <br\/><br\/>\n\n\n     <div id=\"tables-results\">\n\n     <div id=\"calculations-100km\" style=\"display:none\">\n\n       <h3>100km included per day<\/h3>\n\n       <table>\n\n        <tr>\n\n          <td>Included kilometers<\/td>\n\n          <td id=\"result-100km-km\"><\/td>\n\n        <\/tr>\n\n        <tr>\n\n          <td>Days counted<\/td>\n\n          <td id=\"result-100km-days\"><\/td>\n\n        <\/tr>\n\n        <tr>\n\n          <td>Total price<\/td>\n\n          <td id=\"result-100km-total\"><\/td>\n\n        <\/tr>\n\n       <\/table>\n\n     <\/div>\n\n     <div id=\"calculations-300km\" style=\"display:none\">\n\n       <h3>300km included per day<\/h3>\n\n       <table>\n\n        <tr>\n\n          <td>Included kilometers<\/td>\n\n          <td id=\"result-300km-km\"><\/td>\n\n        <\/tr>\n\n        <tr>\n\n          <td>Days counted<\/td>\n\n          <td id=\"result-300km-days\"><\/td>\n\n        <\/tr>\n\n        <tr>\n\n          <td>Total price<\/td>\n\n          <td id=\"result-300km-total\"><\/td>\n\n        <\/tr>\n\n       <\/table>\n\n     <\/div>\n\n     <\/div>\n\n     <div class=\"debug\"><\/div>\n     <\/div>\n   <\/form>\n\n   <script>\n\n   \n   const firstPickup = new Date('2026-04-19T00:00:00.000+02:00');\n   const firstDropoff = new Date('2026-04-21T00:00:00.000+02:00');\n   let pickupDate, dropoffDate;\n\n   \/*\n\n   No vehicle can be booked on all those \"weekends\" (thus excluding \"weekend+N\" options) that fall from June 30 to September 8;\n\n*\/\n\n  function getEasterDate(year) {\n    const a = year % 19;\n    const b = Math.floor(year \/ 100);\n    const c = year % 100;\n    const d = Math.floor(b \/ 4);\n    const e = b % 4;\n    const f = Math.floor((b + 8) \/ 25);\n    const g = Math.floor((b - f + 1) \/ 3);\n    const h = (19 * a + b - d - g + 15) % 30;\n    const i = Math.floor(c \/ 4);\n    const k = c % 4;\n    const l = (32 + 2 * e + 2 * i - h - k) % 7;\n    const m = Math.floor((a + 11 * h + 22 * l) \/ 451);\n    const n = Math.floor((h + l - 7 * m + 114) \/ 31);\n    const p = (h + l - 7 * m + 114) % 31;\n    const day = p + 1;\n    const month = n;\n    const date = new Date(year, month - 1, day);\n    return date;\n  }\n  \n  const currentYear = new Date().getFullYear();\n  const easterMondayDates = [];\n\n  for(let i = currentYear; i < currentYear + 5; i++) {\n    const easterDate = getEasterDate(i);\n    const easterMondayDate = new Date(easterDate.getFullYear(), easterDate.getMonth(), easterDate.getDate() + 1);\n    easterMondayDates[i] = easterMondayDate;\n  }  \n\n  const bankHolidays = ['1\/1', '6\/1', '25\/4', '1\/5', '2\/6', '15\/8', '1\/11', '8\/12', '25\/12', '26\/12'];\n  \n  const blockPickupDays = ['2\/5'];\n  const blockDropoffDays = ['20\/4','24\/4','1\/6','30\/4','1\/5'];\n\n  const calcForm = document.querySelector('#camper-calc');\n  const fp1 = flatpickr('#pickup-date', {\n\n     \"disable\": [\n\n        function(date) {\n          \/\/const noWeekendStart = new Date(date.getFullYear(), 5, 30);\n          \/\/const noWeekendEnd = new Date(date.getFullYear(), 8, 8);\n          \n          const year = date.getFullYear();\n          const month = date.getMonth() + 1;\n          const day = date.getDate();\n\n          \/\/ Aug. 12 to 20\n            \/\/ return true to disable\n            let disabled = (date.getDay() === 0 || date.getDay() === 6);\n            if (disabled) return true;\n\n            if (date < firstPickup) return true;\n            \n            \n            if (easterMondayDates[year]) {\n              if (date.getTime() == easterMondayDates[year].getTime()) return true;\n            }\n\n            if (bankHolidays.indexOf(`${day}\/${month}`) !== -1) return true;\n            if (blockPickupDays.indexOf(`${day}\/${month}`) !== -1) return true;\n\n\/*\n            if (dropoffDate) {\n\n              const clonedDate = new Date(dropoffDate.getTime());\n\n              let diff = 2;\n\n              if (dropoffDate >= noWeekendStart &&  dropoffDate <= noWeekendEnd) {\n\n                diff = 6;\n\n              }\n\n              disabled = date > new Date(clonedDate.setDate(clonedDate.getDate() - diff));\n\n            }\n            *\/\n\n            \n\n            return disabled;\n\n\n\n        }\n\n      ],\n\n      onChange: function(selectedDates, dateStr, instance) {\n\n          pickupDate = selectedDates[0];\n\n          if (!dropoffDate) {\n\n            fp2.jumpToDate(selectedDates[0]);\n\n          }\n\n          fp2.redraw();\n\n          doCalculations();\n\n      },\n      \n      onOpen: function(selectedDates, dateStr, instance) {\n        fp2.clear();\n        fp1.redraw();\n        fp2.redraw();\n      }\n\n   });\n\n   \n\nconst fp2 = flatpickr('#dropoff-date', {\n  \"disable\": [\n    function(date) {\n      const month = date.getMonth() + 1;\n      const day = date.getDate();\n      const noWeekendStart = new Date(date.getFullYear(), 5, 30);\n      const noWeekendEnd = new Date(date.getFullYear(), 8, 8);\n      \n      \/\/ return true to disable\n      let disabled = (date.getDay() === 5 || date.getDay() === 6);\n      if (disabled) return true;\n      \n      \/\/ Verifica data minima generale\n      if (date < firstDropoff) return true;\n      \n      \/\/ Blocco date specifiche\n      if (blockDropoffDays.indexOf(`${day}\/${month}`) !== -1) return true;\n      \n      if (pickupDate) {\n        const pickupYear = pickupDate.getFullYear();\n        const pickupMonth = pickupDate.getMonth();\n        const pickupDay = pickupDate.getDate();\n        \n        \/\/ Nuova logica: vincoli minimi per partenze in agosto\n        let minDropoffDate = null;\n        \n        if (pickupMonth === 7) { \/\/ Agosto (0-indexed, quindi 7 = agosto)\n          switch(pickupDay) {\n            case 10:\n              minDropoffDate = new Date(pickupYear, 7, 20); \/\/ 20 agosto\n              break;\n            case 11:\n              minDropoffDate = new Date(pickupYear, 7, 23); \/\/ 23 agosto\n              break;\n            case 12:\n              minDropoffDate = new Date(pickupYear, 7, 23); \/\/ 23 agosto\n              break;\n            case 13:\n              minDropoffDate = new Date(pickupYear, 7, 23); \/\/ 23 agosto\n              break;\n            case 14:\n              minDropoffDate = new Date(pickupYear, 7, 24); \/\/ 24 agosto\n              break;\n          }\n        }\n        \n        \/\/ Se esiste un vincolo minimo specifico, applicalo\n        if (minDropoffDate && date < minDropoffDate) {\n          return true;\n        }\n        \n        \/\/ Logica esistente per il minimo generale\n        const clonedDate = new Date(pickupDate.getTime());\n        let diff = 2;\n        if (pickupDate >= noWeekendStart && pickupDate <= noWeekendEnd) {\n          diff = 6;\n        }\n        disabled = date < new Date(clonedDate.setDate(clonedDate.getDate() + diff));\n      }\n      \n      return disabled;\n    }\n  ],\n  onChange: function(selectedDates, dateStr, instance) {\n    dropoffDate = selectedDates[0];\n    fp1.redraw();\n    doCalculations();\n  },\n});\n\n   \n\n   document.querySelector('[name=\"category\"]').addEventListener('change', function() {\n\n     doCalculations();\n\n   });\n\n\n\n   \n\n   calcForm.addEventListener('submit', function(e) {\n\n     e.preventDefault();\n\n     doCalculations();\n\n   });\n\n   \n\n   function doCalculations() {\n    const wrapper100km = document.querySelector('#calculations-100km');\n    const wrapper300km = document.querySelector('#calculations-300km');\n    const debugElement = document.querySelector('.debug');\n\n    if (fp2.selectedDates[0] && fp1.selectedDates[0]) {\n\n       const resultElement = document.querySelector('#result-100km-total');\n\n       const resultElement2 = document.querySelector('#result-300km-total');\n\n       const result100km = document.querySelector('#result-100km-km');\n\n       const result300km = document.querySelector('#result-300km-km');\n\n       const result100days = document.querySelector('#result-100km-days');\n\n       const result300days = document.querySelector('#result-300km-days');\n\t   \n\t   \/\/ Define the start and end dates as Date objects\n\t   let startDate = new Date(fp1.selectedDates[0]);\n\t   let endDate = new Date(fp2.selectedDates[0]);\n\t   startDate = new Date(Date.UTC(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()));\n\t   endDate = new Date(Date.UTC(endDate.getFullYear(), endDate.getMonth(), endDate.getDate()));\n\t   endDate = new Date(endDate.getTime() + 3600000);\n       const days = Math.floor((endDate.getTime() - startDate.getTime()) \/ 86400000); \n       const category = document.querySelector('[name=\"category\"]').value;\n\n      const isWeekendSolution = (days < 6);\n\n      \n\n      let calculation = 0, calculation2 = 0;\n\n      let debug = `Days: ${days}<br\/>`;\n\n\n\n      \/\/ Loop through the date range\n\n      let i = 0;\n\n      for (let d = new Date(startDate.setDate(startDate.getDate() + 1)); d <= endDate; d.setDate(d.getDate() + 1)) {\n\n        \/\/ Extract the month and day as numbers\n\n        const month = d.getMonth() + 1;\n\n        const day = d.getDate();\n\n        const season = months[month][day];\n\n        \n\n        if(days >= 6) {\n\n          calculation += rate100kmPerDay[category][season];\n\n          calculation2 += rate300kmPerDay[category][season];\n\n          debug += `${d.getFullYear()}-${month}-${day} ${season} 100km: ${rate100kmPerDay[category][season]}<br\/>`;\n\n          debug += `${d.getFullYear()}-${month}-${day} ${season} 300km: ${rate300kmPerDay[category][season]}<br\/>`;\n\n        } else {\n\n          \/\/ how to calculate weekend?\n\n          if (i == 0) {\n\n            calculation += rateWeekend[category][season];\n\n            debug += `${d.getFullYear()}-${month}-${day} ${season} weekend: ${rateWeekend[category][season]}<br\/>`;\n\n          } else if (i > 1) {\n\n            calculation += rate100kmPerDay[category][season];\n\n            debug += `${d.getFullYear()}-${month}-${day} ${season} 100km: ${rate100kmPerDay[category][season]}<br\/>`;\n\n          }\n\n        }\n\n\n        i++;\n\n      }\n\n\n       let result = result2 = 0;\n\n       if (days < 1) {\n\n         resultElement.textContent = '-';\n\n         alert('Error');\n\n         return;\n\n       }\n\n       if(days >= 6) {\n\n          calculation += sanitationRate + consumableRate;\n\n          calculation2 += sanitationRate + consumableRate;\n\n          resultElement2.innerHTML = `${calculation2}\u20ac`;\n\n          \n\n          wrapper300km.style.display = 'block';\n\n          debug += `Sanitation: ${sanitationRate}, Consumable: ${consumableRate}<br\/>`;\n\n        } else {\n\n          wrapper300km.style.display = 'none';\n\n          calculation += sanitationRate;\n\n          debug += `Sanitation: ${sanitationRate}<br\/>`;\n\n        }\n\n        \n\n      let totalKms100;\n\n      let totalKms300; \n\n      if (days >= 20) {\n\n        totalKms100 = days * 100;\n\n        totalKms300 = \"Unlimited\";\n\n      } else if (days >= 13) {\n\n        totalKms100 = days * 100;\n\n        totalKms300 = 5000;\n\n      } else if (days >=6) {\n\n        totalKms100 = days * 100;\n\n        totalKms300 = days * 300;\n\n      } else {\n\n        totalKms100 = totalKms300 = 500 + ((days - 2) * 100);\n\n      }\n\n        \n\n       result300km.textContent = totalKms300;\n\n       result100km.textContent = totalKms100;\n\n       result100days.textContent = days;\n\n       result300days.textContent = days;\n\n       resultElement.innerHTML = `${calculation}\u20ac`;\n\n       wrapper100km.style.display = 'block';\n\n      \/\/ debugElement.innerHTML = debug;\n\n     } else {\n       wrapper100km.style.display = 'none';\n       wrapper300km.style.display = 'none';\n       \/\/debugElement.innerHTML = '';\n     }\n\n   }\n\n   <\/script>\n\n  [\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;25px|0px|9px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;27px|0px|10px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;999&#8243; include_categories=&#8221;137&#8243; show_more=&#8221;on&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_categories=&#8221;off&#8221; use_overlay=&#8221;on&#8221; hover_icon=&#8221;&#x24;||divi||400&#8243; admin_label=&#8221;Blog | Noleggio SPORT (L)&#8221; _builder_version=&#8221;4.16&#8243; header_font=&#8221;Montserrat||||||||&#8221; body_font=&#8221;Montserrat||||||||&#8221; meta_font=&#8221;Montserrat||||||||&#8221; pagination_font=&#8221;Montserrat||||||||&#8221; animation_style=&#8221;fade&#8221; border_radii=&#8221;on|11px|11px|11px|11px&#8221; border_width_all=&#8221;0px&#8221; box_shadow_style=&#8221;preset1&#8243; box_shadow_blur=&#8221;7px&#8221; global_colors_info=&#8221;{}&#8221;]<br \/>\n[\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.16&#8243; animation_style=&#8221;fade&#8221; border_width_bottom=&#8221;1px&#8221; border_color_bottom=&#8221;#d9d9d9&#8243; box_shadow_style=&#8221;preset3&#8243; box_shadow_color=&#8221;rgba(117,117,117,0.3)&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_header title=&#8221;Vehicle equipment &#8221; subhead=&#8221;Full-equipped accommodation and optionals are included&#8221; admin_label=&#8221;dotazioni e optional inclusi&#8221; _builder_version=&#8221;4.16&#8243; title_font=&#8221;Montserrat||||||||&#8221; title_font_size=&#8221;50px&#8221; subhead_font=&#8221;Montserrat||||||||&#8221; background_color=&#8221;#f2f2f2&#8243; background_layout=&#8221;light&#8221; title_font_size_tablet=&#8221;&#8221; title_font_size_phone=&#8221;30px&#8221; title_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover=&#8221;null&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover=&#8221;null&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover=&#8221;null&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover=&#8221;null&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover=&#8221;null&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover=&#8221;null&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover=&#8221;null&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover=&#8221;null&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover=&#8221;null&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover=&#8221;null&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover=&#8221;null&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover=&#8221;null&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover=&#8221;null&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover=&#8221;null&#8221;][\/et_pb_fullwidth_header][et_pb_fullwidth_header background_overlay_color=&#8221;#ffffff&#8221; admin_label=&#8221;elenco dotazioni&#8221; _builder_version=&#8221;4.16&#8243; title_font=&#8221;Montserrat||||||||&#8221; title_font_size=&#8221;50px&#8221; subhead_font=&#8221;Montserrat||||||||&#8221; background_color=&#8221;#f2f2f2&#8243; background_layout=&#8221;light&#8221; title_font_size_tablet=&#8221;&#8221; title_font_size_phone=&#8221;30px&#8221; title_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover=&#8221;null&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover=&#8221;null&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover=&#8221;null&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover=&#8221;null&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover=&#8221;null&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover=&#8221;null&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover=&#8221;null&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover=&#8221;null&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover=&#8221;null&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover=&#8221;null&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover=&#8221;null&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover=&#8221;null&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover=&#8221;null&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover=&#8221;null&#8221;]<\/p>\n<p><strong>Equipment<\/strong>: 220 v cable, drinking water filling hose, leveling wedges, gas cylinders, table and chairs for outdoor use, toilet disintegrating liquids, biodegradable toilet paper, first aid kit, fire extinguisher, spare wheel.<\/p>\n<p><strong>Optionals<\/strong>: Engine air conditioning, electric windows and mirrors, perimeter and volumetric alarm, radio with CD and USB, awning, bike rack.<\/p>\n<pre class=\"tw-data-text tw-text-large tw-ta\" data-placeholder=\"Traduzione\" id=\"tw-target-text\" style=\"text-align: left;\" dir=\"ltr\"><span class=\"Y2IQFc\" lang=\"en\">\u00a0<\/span><\/pre>\n<p>[\/et_pb_fullwidth_header][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2025 Seasonal dates Prices are in Euros per day, VAT included. Week end starts from Friday at 5.30 pm Vans are delivered with full fuel oil, gas, water, and empty recovery tanks. The renter is obliged to return the vehicle with the tank completely full and empty recovery tanks. The return of the vehicle must [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":22047,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"[-main-]","_et_gb_content_width":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-22240","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/pages\/22240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/comments?post=22240"}],"version-history":[{"count":0,"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/pages\/22240\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/pages\/22047"}],"wp:attachment":[{"href":"https:\/\/stage.campersoimex.it\/en\/wp-json\/wp\/v2\/media?parent=22240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}