1function bookacti_get_booking_system_data_by_interval(b,a){var c=b.attr("id"),f=$j.extend(!0,{},bookacti.booking_system[c]),d=bookacti_get_booking_system_attributes_without_data(b);a=a?a:$j.extend(!0,{},f.events_interval);bookacti.booking_system[c].events_interval=bookacti_get_extended_events_interval(b,a);bookacti_start_loading_booking_system(b);$j.ajax({url:bookacti_localized.ajaxurl,type:"POST",data:{action:"bookactiGetBookingSystemDataByInterval",attributes:JSON.stringify(d),interval:JSON.stringify(a)}, 2dataType:"json",success:function(e){if(e.status==="success"){$j.isEmptyObject(bookacti.booking_system[c].events)?bookacti.booking_system[c].events=e.booking_system_data.events:bookacti.booking_system[c].events=bookacti.booking_system[c].events.concat(e.booking_system_data.events);$j.isEmptyObject(bookacti.booking_system[c].events_data)?bookacti.booking_system[c].events_data=e.booking_system_data.events_data:$j.extend(bookacti.booking_system[c].events_data,e.booking_system_data.events_data);$j.isEmptyObject(bookacti.booking_system[c].groups_events)? 3bookacti.booking_system[c].groups_events=e.booking_system_data.groups_events:$j.extend(!0,bookacti.booking_system[c].groups_events,e.booking_system_data.groups_events);$j.isEmptyObject(bookacti.booking_system[c].groups_data)?bookacti.booking_system[c].groups_data=e.booking_system_data.groups_data:$j.extend(bookacti.booking_system[c].groups_data,e.booking_system_data.groups_data);$j.isEmptyObject(bookacti.booking_system[c].bookings)?bookacti.booking_system[c].bookings=e.booking_system_data.bookings: 4$j.extend(!0,bookacti.booking_system[c].bookings,e.booking_system_data.bookings);$j.isEmptyObject(bookacti.booking_system[c].groups_bookings)?bookacti.booking_system[c].groups_bookings=e.booking_system_data.groups_bookings:$j.extend(!0,bookacti.booking_system[c].groups_bookings,e.booking_system_data.groups_bookings);$j.isEmptyObject(bookacti.booking_system[c].booking_lists)?bookacti.booking_system[c].booking_lists=e.booking_system_data.booking_lists:$j.extend(!0,bookacti.booking_system[c].booking_lists, 5e.booking_system_data.booking_lists);if(e?.trimmed_period?.start||e?.trimmed_period?.end)e?.trimmed_period?.start&&(bookacti.booking_system[c].start=e.trimmed_period.start),e?.trimmed_period?.end&&(bookacti.booking_system[c].end=e.trimmed_period.end),bookacti_booking_method_update_display_period(b);e.booking_system_data.events.length&&bookacti_booking_method_display_events(b,e.booking_system_data.events);b.trigger("bookacti_booking_system_interval_data_loaded",[e,f,d,a])}else console.log(typeof e.message!== 6"undefined"?e.message:bookacti_localized.error),console.log(e)},error:function(e){console.log("AJAX "+bookacti_localized.error);console.log(e)},complete:function(){bookacti_stop_loading_booking_system(b)}})} 7function bookacti_reload_booking_system(b,a){a=a||!1;var c=b.attr("id"),f=$j.extend(!0,{},bookacti.booking_system[c]),d=bookacti_get_booking_system_attributes_without_data(b);a||delete d.picked_events;bookacti_start_loading_booking_system(b);$j.ajax({url:bookacti_localized.ajaxurl,type:"POST",data:{action:"bookactiReloadBookingSystem",attributes:JSON.stringify(d)},dataType:"json",success:function(e){e.status==="success"?(b.empty(),bookacti_clear_booking_system_displayed_info(b),bookacti.booking_system[c]= 8e.booking_system_data,typeof f.rescheduled_bookings_data!=="undefined"&&(bookacti.booking_system[c].rescheduled_bookings_data=$j.extend(!0,{},f.rescheduled_bookings_data)),typeof f.templates_per_activities!=="undefined"&&(bookacti.booking_system[c].templates_per_activities=$j.extend(!0,{},f.templates_per_activities)),b.append(e.html_elements),bookacti_booking_method_set_up(b),bookacti_fill_booking_system_fields(b),bookacti_fill_picked_events_list(b),b.trigger("bookacti_booking_system_reloaded",[e, 9f,d])):(console.log(typeof e.message!=="undefined"?e.message:bookacti_localized.error),console.log(e))},error:function(e){console.log("AJAX "+bookacti_localized.error);console.log(e)},complete:function(){bookacti_stop_loading_booking_system(b)}})} 10function bookacti_get_booking_system_attributes_without_data(b){b=b.attr("id");var a=$j.extend(!0,{},bookacti.booking_system[b]),c=$j.extend(!0,{},bookacti.booking_system[b]),f=bookacti_localized.booking_system_attributes_keys;$j.each(a,function(d,e){$j.inArray(d,f)===-1&&delete c[d]});return c} 11function bookacti_get_interval_of_events(b,a){var c=b.attr("id"),f=bookacti.booking_system[c].events_interval,d=bookacti_get_display_period(b);c=parseInt(bookacti_localized.event_load_interval);var e=d.start?moment.utc(d.start):!1;d=d.end?moment.utc(d.end):!1;var g=moment.utc(a.start).clone(),k=moment.utc(a.end).clone();e&&g.isBefore(e)&&(g=e.clone());d&&k.isAfter(d)&&(k=d.clone());var h={},p={start:g.clone(),end:k.clone()};if($j.isEmptyObject(f))h=bookacti_get_new_interval_of_events(b,p);else{var m= 12moment.utc(f.start).clone().locale("en");f=moment.utc(f.end).clone().locale("en");if(g.isBefore(m)||k.isAfter(f)){h=m.clone();var l=f.clone(),n=moment.utc(a.start).clone().subtract(1,"days").locale("en");a=moment.utc(a.end).clone().add(1,"days").locale("en");if((g.isBefore(m)&&k.isAfter(f)||k.isBefore(m)||g.isAfter(f))&&n.format("YYYY-MM-DD")+" 23:59:59"!==f.format("YYYY-MM-DD HH:mm:ss")&&a.format("YYYY-MM-DD")+" 00:00:00"!==m.format("YYYY-MM-DD HH:mm:ss"))bookacti_booking_method_clear_events(b), 13h=bookacti_get_new_interval_of_events(b,p);else{if(g.isBefore(m)||a.format("YYYY-MM-DD")+" 00:00:00"===m.format("YYYY-MM-DD HH:mm:ss"))h.subtract(c,"days"),g.isBefore(h)&&(h=g.clone()),e&&h.isBefore(e)&&(h=e.clone()),l=moment.utc(m.clone().subtract(1,"days").format("YYYY-MM-DD")+" 23:59:59");else if(k.isAfter(f)||n.format("YYYY-MM-DD")+" 23:59:59"===f.format("YYYY-MM-DD HH:mm:ss"))l.add(c,"days"),k.isAfter(l)&&(l=k.clone()),d&&l.isAfter(d)&&(l=d.clone()),h=moment.utc(f.clone().add(1,"days").format("YYYY-MM-DD")+ 14" 00:00:00");h={start:h.locale("en").format("YYYY-MM-DD HH:mm:ss"),end:l.locale("en").format("YYYY-MM-DD HH:mm:ss")}}}}return h} 15function bookacti_get_new_interval_of_events(b,a){var c=b.attr("id"),f=bookacti_get_display_period(b);if(typeof f.start==="undefined"||typeof f.end==="undefined")return{};c=bookacti.booking_system[c].past_events;var d=moment.utc(bookacti_localized.current_time),e=d.locale("en").format("YYYY-MM-DD HH:mm:ss");b=f.start?moment.utc(f.start):!1;var g=f.end?moment.utc(f.end):!1;if(!c&&g&&g.isBefore(d))return[];$j.isEmptyObject(a)&&(b&&b.isAfter(d)&&(a={start:f.start,end:f.start}),g&&$j.isEmptyObject(a)&& 16g.isBefore(d)&&(a={start:f.end,end:f.end}),$j.isEmptyObject(a)&&(a={start:e,end:e}));e=parseInt(bookacti_localized.event_load_interval);f=moment.utc(moment.utc(a.start).clone().locale("en").format("YYYY-MM-DD")+" 00:00:00");d=moment.utc(moment.utc(a.end).clone().locale("en").format("YYYY-MM-DD")+" 23:59:59");a=parseInt(Math.abs(moment.utc(a.end).diff(a.start,"days")));a>e&&(e=a);e=a=Math.round((e-a)/2);c?(f.subtract(a,"days"),b&&b.isAfter(f)&&(e+=Math.abs(f.diff(b,"days")))):e+=a;b&&b.isAfter(f)&& 17(f=b.clone());d.add(e,"days");g&&g.isBefore(d)&&(d=g.clone());return{start:f.locale("en").format("YYYY-MM-DD HH:mm:ss"),end:d.locale("en").format("YYYY-MM-DD HH:mm:ss")}}function bookacti_get_extended_events_interval(b,a){b=b.attr("id");b=bookacti.booking_system[b].events_interval;return $j.isEmptyObject(a)?b:$j.isEmptyObject(b)?{start:a.start,end:a.end}:{start:moment.utc(a.start).isBefore(moment.utc(b.start))?a.start:b.start,end:moment.utc(a.end).isAfter(moment.utc(b.end))?a.end:b.end}} 18function bookacti_get_availability_period(b){b=b.attr("id");b=bookacti.booking_system[b];var a=b?.availability_period?.start?moment.utc(b.availability_period.start):null,c=b?.availability_period?.end?moment.utc(b.availability_period.end):null,f=b?.start?moment.utc(b.start):null,d=b?.end?moment.utc(b.end):null;return{start:a||f?a&&(!f||f&&f<a)?b.availability_period.start:b.start:"",end:c||d?c&&(!d||d&&d>c)?b.availability_period.end:b.end:""}} 19function bookacti_get_display_period(b){b=b.attr("id");b=bookacti.booking_system[b];var a=b?.display_period?.start?moment.utc(b.display_period.start):null,c=b?.display_period?.end?moment.utc(b.display_period.end):null,f=b?.start?moment.utc(b.start):null,d=b?.end?moment.utc(b.end):null;return{start:a||f?a&&(!f||f&&f<a)?b.display_period.start:b.start:"",end:c||d?c&&(!d||d&&d>c)?b.display_period.end:b.end:""}} 20function bookacti_refresh_booking_numbers(b){var a=b.attr("id"),c=bookacti.booking_system[a].calendars,f=bookacti.booking_system[a].groups_data,d=bookacti.booking_system[a].groups_events;bookacti_start_loading_booking_system(b);
20$j.ajax({url:bookacti_localized.ajaxurl,type:"POST",data:{action:"bookactiGetBookingNumbers",template_ids:c,groups_data:f,groups_events:d},dataType:"json",success:function(e){bookacti.booking_system[a].bookings=[];typeof e.bookings!=="undefined"&&(bookacti.booking_system[a].bookings= 21e.bookings,bookacti.booking_system[a].groups_bookings=e.groups_bookings);bookacti_booking_method_rerender_events(b)},error:function(e){alert("AJAX "+bookacti_localized.error);console.log(e)},complete:function(){bookacti_stop_loading_booking_system(b)}})} 22function bookacti_event_click(b,a){var c=b.attr("id"),f=bookacti.booking_system[c].multiple_bookings;if(!bookacti_unpick_events(b,a)){var d={},e=[],g=0;c!=="bookacti-booking-system-reschedule"&&(d=bookacti_get_event_groups(b,a),g=bookacti_get_event_groups_nb(d),e=Object.keys(d));var k=!1;g>1||g===1&&bookacti.booking_system[c].groups_single_events?(k=!0,bookacti_dialog_choose_group_of_events(b,d,a)):(e=(c=e.length?e[0]:0)?Object.keys(d[c]):[],e=e.length?e[0]:"",f||bookacti_unpick_all_events(b),bookacti_pick_events(b, 23a,c,e),c&&b.trigger("bookacti_group_of_events_chosen",[c,e,a]));b.trigger("bookacti_event_click",[a,d,k])}} 24function bookacti_get_event_groups(b,a){var c={};if(typeof a!=="object"||typeof a.id==="undefined"||typeof a.start==="undefined"||typeof a.end==="undefined")return c;b=b.attr("id");var f=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id),d=moment.utc(a.start).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"),e=moment.utc(a.end).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"),g=bookacti.booking_system[b]?.groups_first_event_only;$j.each(bookacti.booking_system[b].groups_events,function(k, 25h){$j.each(h,function(p,m){$j.each(m,function(l,n){if(parseInt(n.id)===f&&n.start===d&&n.end===e)return typeof c[k]==="undefined"&&(c[k]={}),c[k][p]=m,!1;if(g&&parseInt(g))return!1})})});return c}function bookacti_get_event_groups_nb(b){var a=0;$j.each(b,function(c,f){$j.each(f,function(d,e){++a})});return a} 26function bookacti_fill_booking_system_fields(b){var a=b.siblings(".bookacti-booking-system-inputs");if(a.length){a.find('input[name^="selected_events"]').remove();var c=0,f=b.attr("id");$j.each(bookacti.booking_system[f].picked_events,function(d,e){a.append('<input type="hidden" name="selected_events['+c+'][group_id]" value="'+e.group_id+'"/>');a.append('<input type="hidden" name="selected_events['+c+'][group_date]" value="'+e.group_date+'"/>');a.append('<input type="hidden" name="selected_events['+ 27c+'][id]" value="'+e.id+'"/>');a.append('<input type="hidden" name="selected_events['+c+'][start]" value="'+e.start+'"/>');a.append('<input type="hidden" name="selected_events['+c+'][end]" value="'+e.end+'"/>');++c});b.trigger("bookacti_fill_booking_system_fields")}} 28function bookacti_pick_events(b,a,c,f){$j.isNumeric(a)&&(a={id:parseInt(a),start:"",end:""});c=$j.isNumeric(c)?parseInt(c):0;f=f?f:"";var d=typeof a.groupId!=="undefined"?parseInt(a.groupId):typeof a.id!=="undefined"?parseInt(a.id):0,e=0;if(!c&&!d)return e;c?(d=b.attr("id"),typeof bookacti.booking_system[d].groups_events[c]!=="undefined"&&typeof bookacti.booking_system[d].groups_events[c][f]!=="undefined"&&(d=bookacti.booking_system[d].groups_events[c][f].slice(),$j.each(d,function(g,k){group_picked_nb= 29bookacti_pick_event(b,k,c,f);e+=group_picked_nb}))):e=bookacti_pick_event(b,a);b.trigger("bookacti_events_picked",[a,c,f]);return e} 30function bookacti_is_event_picked(b,a){b=b.attr("id");b=$j.extend(!0,{},bookacti.booking_system[b].picked_events);var c=typeof a.start!=="undefined"?moment.utc(a.start).clone().locale("en").format("YYYY-MM-DD"):"",f=$j.isNumeric(a)?parseInt(a):typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id),d=!1;b&&$j.each(b,function(e,g){if(g.id==f&&($j.isNumeric(a)||g.start.substr(0,10)===c))return d=g,!1});return d} 31function bookacti_pick_event(b,a,c,f){$j.isNumeric(a)&&(a={id:parseInt(a),start:"",end:""});c=$j.isNumeric(c)?parseInt(c):0;f=f?f:"";var d=typeof a.groupId!=="undefined"?parseInt(a.groupId):typeof a.id!=="undefined"?parseInt(a.id):0,e=0;if(!c&&!d)return e;var g=b.attr("id"),k=typeof a.title!=="undefined"?a.title:"",h=typeof a.activity_id!=="undefined"?parseInt(a.activity_id):0;h||typeof bookacti.booking_system[g].events_data[d]==="undefined"||(k=bookacti.booking_system[g].events_data[d].title,h=bookacti.booking_system[g].events_data[d].activity_id); 32var p=typeof a.start!=="undefined"?a.start:"",m=typeof a.end!=="undefined"?a.end:"";d={group_id:c,group_date:f?moment.utc(f).clone().locale("en").format("YYYY-MM-DD"):"",id:d,start:p?moment.utc(p).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"):"",end:m?moment.utc(m).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"):"",title:k,activity_id:parseInt(h)};bookacti.booking_system[g].picked_events.push(d);++e;bookacti.booking_system[g].picked_events.sort(function(l,n){l=moment.utc(l.start);n=moment.utc(n.start); 33return l.isBefore(n)?-1:l.isAfter(n)?1:0});b.trigger("bookacti_pick_event",[a,c,f]);return e} 34function bookacti_unpick_events(b,a,c,f){$j.isNumeric(a)&&(a={id:parseInt(a),start:"",end:""});c=$j.isNumeric(c)?parseInt(c):0;f=f?f:"";var d=typeof a.groupId!=="undefined"?parseInt(a.groupId):typeof a.id!=="undefined"?parseInt(a.id):0,e=0;if(!c&&!d)return e;var g=b.attr("id"),k=typeof a.start!=="undefined"?a.start:"",h=k?moment.utc(k).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"):"",p=c,m=f?moment.utc(f).clone().locale("en").format("YYYY-MM-DD"):"",l=[];$j.each(bookacti.booking_system[g].picked_events, 35function(n,q){if(!q.group_id)return!0;n=q.group_id+"_"+q.group_date;var t=p&&q.group_id==p?1:0,u=m&&q.group_date===m?1:0,w=d&&q.id==d?1:0;q=h&&q.start.substr(0,10)===h.substr(0,10)?1:0;d||!t||m&&!u||l.push(n);p||!w||h&&!q||l.push(n);w&&t&&(m&&!u||h&&!q||l.push(n))});k=$j.grep(bookacti.booking_system[g].picked_events,function(n){var q=n.group_id+"_"+n.group_date,t=d&&n.id==d?1:0;n=h&&n.start.substr(0,10)===h.substr(0,10)?1:0;return $j.inArray(q,l)>=0||t&&!h||t&&n?(++e,!1):!0});bookacti.booking_system[g].picked_events= 36k;b.trigger("bookacti_events_unpicked",[a,c,f]);return e}function bookacti_unpick_all_events(b){var a=b.attr("id");bookacti.booking_system[a].picked_events=[];b.siblings(".bookacti-booking-system-inputs").find('input[name^="selected_events"]').remove();b.siblings(".bookacti-booking-system-inputs").find("input").val("");b.siblings(".bookacti-picked-events").find(".bookacti-picked-events-list").empty();b.siblings(".bookacti-picked-events").hide();b.trigger("bookacti_unpick_all_events")} 37function bookacti_get_picked_events_list_items(b){var a={},c=b.attr("id");qty_field=(b.closest("form").length?b.closest("form"):b.closest(".bookacti-form-fields")).find('input[name="quantity"], input.bookacti-quantity');var f=qty_field.length?parseInt(qty_field.val()):1;$j.each(bookacti.booking_system[c].picked_events,function(d,e){d=0;typeof bookacti.booking_system[c].events_data!=="undefined"&&parseInt(e.id)>0&&typeof bookacti.booking_system[c].events_data[e.id]!=="undefined"&&(d=bookacti.booking_system[c].events_data[e.id].activity_id); 38var g=0;typeof bookacti.booking_system[c].groups_data!=="undefined"&&parseInt(e.group_id)>0&&typeof bookacti.booking_system[c].groups_data[e.group_id]!=="undefined"&&(g=bookacti.booking_system[c].groups_data[e.group_id].category_id);d={id:e.id,title:e.title,group_id:e.group_id,group_date:e.group_date,
38start:moment.utc(e.start).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"),end:moment.utc(e.end).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"),activity_id:parseInt(d),category_id:parseInt(g),quantity:f}; 39b.trigger("bookacti_picked_events_list_item_data",[d,e]);e=parseInt(d.group_id)>0?"group_"+d.group_id+"_"+d.group_date:"event_"+d.id+"_"+d.start+"_"+d.end;g=$j("<li></li>",{html:'<span class="bookacti-booking-event-title" >'+d.title+"</span>"});var k=bookacti_format_event_duration(d.start,d.end);k&&g.append('<span class="bookacti-booking-event-title-separator" > - </span>'+k);d.quantity>0&&(k=bookacti_get_activity_unit(b,d.activity_id,d.quantity))&&g.append('<span class="bookacti-booking-event-quantity-separator" > - </span><span class="bookacti-booking-event-quantity" >'+ 40d.quantity+" "+k+"</span>");g.data("event-id",d.id).attr("data-event-id",d.id);g.data("event-start",d.start).attr("data-event-start",d.start);g.data("event-end",d.end).attr("data-event-end",d.end);parseInt(d.group_id)>0?typeof a[e]==="undefined"?(k="",typeof bookacti.booking_system[c].groups_data[d.group_id]!=="undefined"&&(k='<span class="bookacti-picked-group-of-events-title">'+bookacti.booking_system[c].groups_data[d.group_id].title+"</span>"),g=$j("<li></li>",{html:k+'<ul class="bookacti-picked-group-of-events-list">'+ 41g[0].outerHTML+"</ul>"}),g.data("group-id",d.group_id).attr("data-group-id",d.group_id),g.data("group-date",d.group_date).attr("data-group-date",d.group_date),a[e]=$j.extend(!0,{},d),a[e].list_element=g):(a[e].end=d.end,a[e].list_element.find("ul").append(g)):(a[e]=$j.extend(!0,{},d),a[e].list_element=g)});b.trigger("bookacti_picked_events_list_items",[a]);return a} 42function bookacti_fill_picked_events_list(b){var a=b.attr("id"),c=b.siblings(".bookacti-picked-events").find(".bookacti-picked-events-list-title"),f=b.siblings(".bookacti-picked-events").find(".bookacti-picked-events-list");f.empty();b.siblings(".bookacti-picked-events").hide();if(typeof bookacti.booking_system[a].picked_events!=="undefined"&&bookacti.booking_system[a].picked_events.length){var d=bookacti.booking_system[a].multiple_bookings;c.html(bookacti.booking_system[a].picked_events.length=== 431?bookacti_localized.selected_event:bookacti_localized.selected_events);a=bookacti_get_picked_events_list_items(b);$j.each(a,function(e,g){e=g.list_element;d&&(e.find(".bookacti-picked-group-of-events-title").length?e.find(".bookacti-picked-group-of-events-title").after('<span class="bookacti-unpick-event-icon"></span>'):e.append('<span class="bookacti-unpick-event-icon"></span>'));f.append(e)});f.is(":empty")||b.siblings(".bookacti-picked-events").show();b.trigger("bookacti_picked_events_list_filled")}} 44function bookacti_set_tooltip_position(b,a,c){if(a.length){c=$j.inArray(c,["below","above"])>=0?c:"below";a.css("position","absolute");var f=$j(window).width();a.outerWidth()>f-40&&(a.css("min-width",f-40+"px"),a.outerWidth(f-40));var d=b.offset(),e=b.offset().left+b.outerWidth()/2;d.top+=c==="above"?(a.outerHeight()+15)*-1:b.height()+15;d.left=e-a.outerWidth()/2;d.left<0&&(d.left=20);b=d.left+a.outerWidth();b>f-20&&(d.left-=b-(f-20));a.offset(d);c=c==="above"?"bookacti-tooltip-arrow-bottom":"bookacti-tooltip-arrow-top"; 45a.find(".bookacti-tooltip-arrow."+c).length||(a.find(".bookacti-tooltip-arrow").remove(),a.append('<div class="bookacti-tooltip-arrow '+c+'"></div>'));a=a.find(".bookacti-tooltip-arrow");d=e-d.left-a.outerWidth()/2;a.css("left",d+"px")}} 46function bookacti_get_min_and_max_quantity(b){var a=b.attr("id"),c=bookacti.booking_system[a],f=[],d=1,e=999999999,g=999999999,k,h,p,m;$j.each(c.picked_events,function(l,n){h=k=0;p=1;m=!1;if(parseInt(n.group_id)>0){l=n.group_id+""+n.group_date;if($j.inArray(l,f)>-1)return!0;f.push(l);typeof c.groups_data!=="undefined"&&typeof c.groups_data[n.group_id]!=="undefined"&&(l=parseInt(c.groups_data[n.group_id].category_id),typeof c.group_categories_data!=="undefined"&&typeof c.group_categories_data[l]!== 47"undefined"&&typeof c.group_categories_data[l].settings!=="undefined"&&(l=c.group_categories_data[l].settings,p=typeof l.min_bookings_per_user==="undefined"?1:l.min_bookings_per_user?parseInt(l.min_bookings_per_user):1,m=typeof l.max_bookings_per_user==="undefined"?!1:l.max_bookings_per_user?parseInt(l.max_bookings_per_user):!1));n.group_date&&typeof c.groups_bookings[n.group_id]!=="undefined"&&typeof c.groups_bookings[n.group_id][n.group_date]!=="undefined"&&(k=parseInt(c.groups_bookings[n.group_id][n.group_date].availability), 48p||m)&&(h=parseInt(c.groups_bookings[n.group_id][n.group_date].current_user_bookings))}else typeof c.events_data!=="undefined"&&typeof c.events_data[n.id]!=="undefined"&&(k=bookacti_get_event_availability(b,n),l=parseInt(c.events_data[n.id].activity_id),typeof c.activities_data!=="undefined"&&typeof c.activities_data[l]!=="undefined"&&typeof c.activities_data[l].settings!=="undefined"&&(l=c.activities_data[l].settings,p=typeof l.min_bookings_per_user==="undefined"?1:l.min_bookings_per_user?parseInt(l.min_bookings_per_user): 491,m=typeof l.max_bookings_per_user==="undefined"?!1:l.max_bookings_per_user?parseInt(l.max_bookings_per_user):!1,p||m))&&(l=moment.utc(n.start).clone().locale("en").format("YYYY-MM-DD HH:mm:ss"),typeof c.bookings[n.id]!=="undefined"&&typeof c.bookings[n.id][l]!=="undefined"&&(h=parseInt(c.bookings[n.id][l].current_user_bookings)));m=m&&m!=0&&m-h<k?Math.max(m-h,0):Math.max(k,0);p=p&&p!=0&&p>1&&h<p?Math.max(p-h,0):1;p>
49d&&(d=p);m&&m<e&&(e=m);k<g&&(g=k)});a={avail:g,min:d,max:e};b.trigger("bookacti_min_and_max_quantity", 50[a]);return a} 51function bookacti_set_min_and_max_quantity(b,a){a=typeof a==="undefined"?1:parseInt(a);var c=bookacti_get_min_and_max_quantity(b),f=b.closest("form").length?b.closest("form"):b.closest(".bookacti-form-fields");c.field=f.find('input[name="quantity"]');b.trigger("bookacti_update_quantity",[c]);if(!c.field.length)return c;f=parseInt(c.field.val());c.value=f;f>c.max&&a&&(c.value=c.max);f<c.min&&(c.avail&&c.min>c.avail&&(c.max=c.min),a&&(c.value=c.min));c.field.attr("min",1);c.field.removeAttr("max");b= 52b.attr("id");if(!bookacti.booking_system[b].picked_events.length)return c;c.field.attr("max",c.max);c.field.attr("min",c.min);a&&c.field.val(c.value);f!==parseInt(c.value)&&c.field.trigger("bookacti_quantity_updated",[f,c]);return c} 53function bookacti_format_event_duration(b,a){b=moment.utc(b).clone().locale("en").format("YYYY-MM-DD HH:mm:ss");a=moment.utc(a).clone().locale("en").format("YYYY-MM-DD HH:mm:ss");var c=moment.utc(b).clone().locale(bookacti_localized.current_lang_code),f=moment.utc(a).clone().locale(bookacti_localized.current_lang_code);b=(a=b.substr(0,10)===a.substr(0,10))?"bookacti-booking-event-end-same-day":"";f=a?f.formatPHP(bookacti_localized.time_format):f.formatPHP(bookacti_localized.date_format);a=a?bookacti_localized.date_time_separator: 54bookacti_localized.dates_separator;return'<span class="bookacti-booking-event-start">'+c.formatPHP(bookacti_localized.date_format)+'</span><span class="bookacti-booking-event-date-separator '+b+'">'+a+'</span><span class="bookacti-booking-event-end '+b+'">'+f+"</span>"} 55function bookacti_get_activity_unit(b,a,c){c=$j.isNumeric(c)?parseInt(c):1;if(!a||c===0)return"";b=b.attr("id");if(typeof bookacti.booking_system[b].activities_data==="undefined"||typeof bookacti.booking_system[b].activities_data[a]==="undefined")return"";a=bookacti.booking_system[b].activities_data[a];if(typeof a.settings==="undefined"||typeof a.settings.unit_name_plural==="undefined"||typeof a.settings.unit_name_singular==="undefined"||a.settings.unit_name_plural===""||a.settings.unit_name_singular=== 56"")return"";c=c===1?a.settings.unit_name_singular:a.settings.unit_name_plural;return typeof a.settings.places_number==="undefined"||a.settings.places_number===""||parseInt(a.settings.places_number)===0?c:c+=parseInt(a.settings.places_number)===1?" "+bookacti_localized.one_person_per_booking:" "+bookacti_localized.n_people_per_booking.replace("%1$s",a.settings.places_number)} 57function bookacti_clear_booking_system_displayed_info(b,a){a||bookacti_unpick_all_events(b);b.siblings(".bookacti-notices").hide();b.siblings(".bookacti-notices").empty();b.show();b.trigger("bookacti_displayed_info_cleared")} 58function bookacti_get_event_number_of_bookings(b,a){b=b.attr("id");b=bookacti.booking_system[b];var c=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id);a=moment.utc(a.start).clone().locale("en").format("YYYY-MM-DD HH:mm:ss");var f=0;typeof b.bookings!=="undefined"&&typeof b.bookings[c]!=="undefined"&&typeof b.bookings[c][a]!=="undefined"&&typeof b.bookings[c][a].quantity!=="undefined"&&$j.isNumeric(b.bookings[c][a].quantity)&&(f=parseInt(b.bookings[c][a].quantity));return f} 59function bookacti_get_event_availability(b,a){var c=b.attr("id"),f=bookacti.booking_system[c],d=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id);c=0;typeof a.availability!=="undefined"&&(c=a.availability);typeof f.events_data[d]!=="undefined"&&typeof f.events_data[d].availability!=="undefined"&&$j.isNumeric(f.events_data[d].availability)&&(c=parseInt(f.events_data[d].availability));b=bookacti_get_event_number_of_bookings(b,a);return c-b} 60function bookacti_is_event_available(b,a){var c=b.attr("id"),f=bookacti.booking_system[c],d=f?.past_events&&f?.past_events_bookable,e=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id),g=moment.utc(a.start).clone().locale("en"),k=moment.utc(a.end).clone().locale("en"),h=moment.utc(bookacti_localized.current_time),p=bookacti_get_event_availability(b,a),m=bookacti_get_availability_period(b),l=!1,n=!0;typeof a.is_available!=="undefined"&&(a.is_available||(n=!1));typeof a.extendedProps!== 61"undefined"&&typeof a.extendedProps.is_available!=="undefined"&&(a.extendedProps.is_available||(n=!1));if(p<=0)return!1;b=bookacti_get_event_groups(b,a);b=bookacti_get_event_groups_nb(b)>0;a=f.groups_single_events;if(c==="bookacti-booking-system-reschedule"){if(b&&!a)return!1;if(c=typeof f.rescheduled_bookings_data!=="undefined"?f.rescheduled_bookings_data:[]){var q=0,t=!1,u=1;$j.each(c,function(v,r){r?.event_id==e&&r?.event_start===g.format("YYYY-MM-DD HH:mm:ss")&&r?.event_end===k.format("YYYY-MM-DD HH:mm:ss")&& 62(t=!0);typeof r.quantity!=="undefined"&&parseInt(r.quantity)>u&&(u=parseInt(r.quantity));++q});if(t&&q===1||u>p)return!1}}if((!b||b&&a)&&n&&typeof f.events_data[e]!=="undefined"){n=!1;d||!g.isBefore(h)||bookacti_localized.started_events_bookable&&k.isAfter(h)||(n=!0);d=!1;if(m.start&&g.isBefore(moment.utc(m.start))&&g.isAfter(h)||m.end&&g.isAfter(moment.utc(m.end)))d=!0;var w=!1;l&&f.days_off&&$j.each(f.days_off,function(v,r){v=moment.utc(r.from+" 00:00:00");r=moment.utc(r.to+" 23:59:59");if(g.isBetween(v, 63r,"second","[]")||!parseInt(bookacti_localized.started_days_off_bookable)&&g.isBefore(v)&&k.isAfter(v))return w=!0,!1});n||d||w||(h=parseInt(f.events_data[e].activity_id),b=f.activities_data[h].settings,d=m=h=!0,a=g.format("YYYY-MM-DD HH:mm:ss"),typeof f.bookings[e]!=="undefined"&&typeof f.bookings[e][a]!=="undefined"&&(n=typeof b.min_bookings_per_user==="undefined"?0:b.min_bookings_per_user?parseInt(b.min_bookings_per_user):0,c=typeof b.max_bookings_per_user==="undefined"?0:b.max_bookings_per_user? 64parseInt(b.max_bookings_per_user):0,b=typeof b.max_users_per_event==="undefined"?0:b.max_users_per_event?parseInt(b.max_users_per_event):0,n||c||b)&&(f=f.bookings[e][a],a=parseInt(f.current_user_bookings),b&&a===0&&f.distinct_users>=b&&(d=!1),c&&a>=c&&(m=!1),n&&n>p+a&&(h=!1)),h&&m&&d&&(l=!0))}return l} 65function bookacti_is_event_in_available_group(b,a){a=bookacti_get_event_groups(b,a);var c=!1;bookacti_get_event_groups_nb(a)>0&&$j.each(a,function(f,d){$j.each(d,function(e,g){if(c=bookacti_is_group_of_events_available(b,f,e))return!1});if(c)return!1});return c} 66function bookacti_is_group_of_events_available(b,a,c){var f=b.attr("id"),d=bookacti.booking_system[f],e=d?.past_events&&d?.past_events_bookable,g=d?.groups_events?.[a]?.[c],k=bookacti_get_availability_period(b),h;var p=h=f=b=0;typeof d.groups_bookings[a]!=="undefined"&&typeof d.groups_bookings[a][c]!=="undefined"&&(p=d.groups_bookings[a][c].is_available,h=d.groups_bookings[a][c].availability,f=d.groups_bookings[a][c].current_user_bookings,b=d.groups_bookings[a][c].distinct_users);var m=p&&h>0;a=(a= 67d?.groups_data?.[a])?parseInt(a.category_id):0;a=d?.group_categories_data?.[a]?.settings;c=parseInt(bookacti_localized.started_groups_bookable);typeof a.started_groups_bookable!=="undefined"&&$j.inArray(a.started_groups_bookable,[0,1,"0","1",!0,!1])>=0&&(c=$j.isNumeric(a.started_groups_bookable)?parseInt(a.started_groups_bookable):a.started_groups_bookable?1:0);p=moment.utc(bookacti_localized.current_time);var l=moment.utc(g[0].start).clone(),n=moment.utc(g[g.length-1].end).clone();e||!l.isBefore(p)|| 68c&&n.isAfter(p)||(m=!1);if(k.start&&l.isBefore(moment.utc(k.start))&&l.isAfter(p)||k.end&&l.isAfter(moment.utc(k.end)))m=!1;m&&d?.days_off&&$j.each(g,function(q,t){var u=moment.utc(t.start),w=moment.utc(t.end);$j.each(d.days_off,function(v,r){v=moment.utc(r.from+" 00:00:00");r=moment.utc(r.to+" 23:59:59");if(u.isBetween(v,r,"second","[]")||!parseInt(bookacti_localized.started_days_off_bookable)&&u.isBefore(v)&&w.isAfter(v))return m=!1});if(!m)return!1});if(m){e=m=!1;k=g=!0;(typeof a.min_bookings_per_user=== 69"undefined"?0:a.min_bookings_per_user?parseInt(a.min_bookings_per_user):0)<=h&&h>0&&(e=!0);h=typeof a.max_users_per_event==="undefined"?0:a.max_users_per_event?parseInt(a.max_users_per_event):0;if((a=typeof a.max_bookings_per_user==="undefined"?0:a.max_bookings_per_user?parseInt(a.max_bookings_per_user):0)||h)f=parseInt(f),h&&f===0&&parseInt(b)>=h&&(k=!1),a&&f>=a&&(g=!1);e&&g&&k&&(m=!0)}return m} 70function bookacti_get_bookings_number_for_a_single_grouped_event(b,a,c){c=$j.isEmptyObject(c)?bookacti_get_event_groups(b,a):c;var f=b.attr("id"),d=bookacti.booking_system[f];b=bookacti_get_event_number_of_bookings(b,a);var e=0;$j.each(c,function(g,k){$j.each(k,function(h,p){typeof d.groups_bookings[g]!=="undefined"&&typeof d.groups_bookings[g][h]!=="undefined"&&(e+=d.groups_bookings[g][h].quantity)})});return b-e} 71function bookacti_get_event_availability_div(b,a){var c=b.attr("id"),f=bookacti.booking_system[c].bookings_only==1?!0:!1,d=bookacti_get_event_availability(b,a),e=d<0&&!bookacti_localized?.is_admin?0:d,g=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id),k=bookacti.booking_system[c].events_data?.[g]?.activity_id,h=bookacti.booking_system[c].events_data?.[g]?.availability,p=bookacti.booking_system[c].activities_data?.[k]?.settings?.show_unit_in_availability;p=typeof p==="undefined"?0: 72parseInt(p);var m=d===1?bookacti.booking_system[c].activities_data?.[k]?.settings?.unit_name_singular:bookacti.booking_system[c].activities_data?.[k]?.settings?.unit_name_plural;
72g=d===1?bookacti_localized.avail:bookacti_localized.avails;h||=0;m&&p||(m="");var l=(d<h?"bookacti-booked":"bookacti-not-booked")+(d<=0?" bookacti-full":"");var n="",q=h?parseInt(d/h*100):0;h=parseInt(bookacti.booking_system[c].hide_availability);var t=parseInt(bookacti_localized.hide_availability_fixed);q=h<100&&q>h;var u= 73t>0&&d>t;if(!f){if(t<=0&&q||h>=100&&u||q&&u)e="",n="bookacti-hide-availability";f=bookacti_is_event_available(b,a);h=bookacti_is_event_in_available_group(b,a);!f&&!h&&d>0&&(l+=" bookacti-not-bookable",bookacti_localized.not_bookable!=="{current}"&&(bookacti_localized.not_bookable?(m=e="",g=bookacti_localized.not_bookable):(e=0,m=bookacti.booking_system[c].activities_data?.[k]?.settings?.unit_name_plural,g=bookacti_localized.avails,m&&p||(m=""))))}k="";m&&(k="bookacti-has-unit-name");c=$j("<div></div>", 74{"class":"bookacti-availability-container "+n});l=$j("<div></div>",{"class":"bookacti-available-places "+l});e=$j("<span></span>",{"class":"bookacti-available-places-number",html:e});m=$j("<span></span>",{"class":"bookacti-available-places-unit-name "+k,html:m});g=$j("<span></span>",{"class":"bookacti-available-places-avail-particle",html:g});l.append(e);l.append(m);l.append(g);c.append(l);b.trigger("bookacti_event_availability_div",[c,a,d]);return c} 75function bookacti_get_event_number_of_bookings_div(b,a){var c=b.attr("id"),f=bookacti_get_event_number_of_bookings(b,a),d=bookacti_get_event_availability(b,a),e=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id),g=0;typeof bookacti.booking_system[c].events_data[e]!=="undefined"&&typeof bookacti.booking_system[c].events_data[e].availability!=="undefined"&&(g=bookacti.booking_system[c].events_data[e].availability);e=(g===0?"bookacti-no-availability":"")+(f>0?" bookacti-booked":" bookacti-not-booked")+ 76(d<=0?" bookacti-full":"");c=$j("<div></div>",{"class":"bookacti-availability-container"});e=$j("<div></div>",{"class":"bookacti-available-places "+e});g=$j("<span></span>",{"class":"bookacti-active-bookings-number",html:f});e.append(g);c.append(e);b.trigger("bookacti_event_number_of_bookings_div",[c,a,f,d]);return c} 77function bookacti_sort_events_array_by_dates(b,a,c,f){a=a||!1;c=c||!1;f=f||{start:"start",end:"end"};b.sort(function(d,e){a||d[f.start]===e[f.start]?(d=moment.utc(d[f.end]),e=moment.utc(e[f.end])):(d=moment.utc(d[f.start]),e=moment.utc(e[f.start]));var g=0;d.isAfter(e)&&(g=1);d.isBefore(e)&&(g=-1);c===!0&&(g*=-1);return g});return b} 78function bookacti_booking_method_set_up(b,a){a=a?1:0;var c=b.attr("id");booking_method=bookacti.booking_system[c].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");bookacti.booking_system[c].no_events||(b.trigger("bookacti_booking_method_set_up",[booking_method,a]),bookacti.booking_system[c].picked_events.length&&typeof bookacti.booking_system[c].events!=="undefined"&&(bookacti_set_min_and_max_quantity(b),bookacti_fill_picked_events_list(b)))} 79function bookacti_booking_method_update_display_period(b){var a=b.attr("id");booking_method=bookacti.booking_system[a].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");a=bookacti_get_display_period(b);b.trigger("bookacti_booking_method_update_display_period",[booking_method,a])} 80function bookacti_booking_method_display_events(b,a){var c=b.attr("id");booking_method=bookacti.booking_system[c].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");b.trigger("bookacti_booking_method_display_events",[booking_method,a])} 81function bookacti_booking_method_refetch_events(b){var a=b.attr("id");booking_method=bookacti.booking_system[a].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");b.trigger("bookacti_refetch_events",[booking_method])} 82function bookacti_booking_method_rerender_events(b){var a=b.attr("id");booking_method=bookacti.booking_system[a].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");b.trigger("bookacti_rerender_events",[booking_method])} 83function bookacti_booking_method_clear_events(b){var a=b.attr("id");booking_method=bookacti.booking_system[a].method;$j.inArray(booking_method,bookacti_localized.available_booking_methods)===-1&&(booking_method="calendar");bookacti.booking_system[a].events=[];bookacti.booking_system[a].events_data=[];bookacti.booking_system[a].events_interval=[];b.trigger("bookacti_clear_events",[booking_method])} 84function bookacti_start_loading_booking_system(b){var a=b.attr("id");if(typeof bookacti.booking_system[a]!=="undefined"){var c=bookacti.booking_system[a].method;$j.inArray(c,bookacti_localized.available_booking_methods)===-1&&(c="calendar");$j.isNumeric(bookacti.booking_system[a].loading_number)||(bookacti.booking_system[a].loading_number=0);b.trigger("bookacti_start_loading",[c]);bookacti.booking_system[a].loading_number++}} 85function bookacti_stop_loading_booking_system(b,a){a=a?a:!1;var c=b.attr("id");if(typeof bookacti.booking_system[c]!=="undefined"){var f=bookacti.booking_system[c].method;$j.inArray(f,bookacti_localized.available_booking_methods)===-1&&(f="calendar");bookacti.booking_system[c].loading_number--;bookacti.booking_system[c].loading_number=Math.max(bookacti.booking_system[c].loading_number,0);a&&(bookacti.booking_system[c].loading_number=0);bookacti.booking_system[c].loading_number===0&&b.trigger("bookacti_exit_loading_state", 86[f,a])}}function bookacti_redirect_to_activity_url(b,a){var c=b.attr("id");c=bookacti.booking_system[c];a=typeof a.groupId!=="undefined"?parseInt(a.groupId):parseInt(a.id);typeof c.events_data[a]!=="undefined"&&(a=c.events_data[a].activity_id,typeof c.redirect_url_by_activity[a]!=="undefined"&&bookacti_redirect_booking_system_to_url(b,c.redirect_url_by_activity[a]))} 87function bookacti_redirect_to_group_category_url(b,a){var c=b.attr("id");c=bookacti.booking_system[c];typeof c.groups_data[a]!=="undefined"&&(a=c.groups_data[a].category_id,typeof c.redirect_url_by_group_category[a]!=="undefined"&&bookacti_redirect_booking_system_to_url(b,c.redirect_url_by_group_category[a]))} 88function bookacti_redirect_booking_system_to_url(b,a){if(a){var c=b.closest("form").length?b.closest("form"):b.closest(".bookacti-form-fields"),f=c.find('button[type="submit"], input[type="submit"]').first();f.length&&f.prop("disabled",!0);bookacti_start_loading_booking_system(b);f.length&&bookacti_add_loading_html(f,"after");var d=bookacti_is_url_external(a)?1:0,e=bookacti_get_url_parameter("method",a).toUpperCase(),g=e==="JS"||d&&!e?1:0;$j.inArray(e,["POST","GET"])<0&&(e=d?"GET":"POST");a={method:e, 89action:a,id:"","class":"bookacti-temporary-form","data-redirect-timeout":15E3,"data-redirect-with-js":g};b.trigger("bookacti_before_redirect",[a]);if(a["data-redirect-with-js"]===1)window.location.assign(a.action);else if(b.closest("form").length){var k={};$j.each(a,function(h,p){k[h]=c.attr(h)});c.attr(a);c.submit();c.attr(k)}else b.closest(".bookacti-form-fields").wrap("<form></form>"),b.closest("form").attr(a).submit(),b.closest(".bookacti-form-fields").unwrap("form");b.trigger("bookacti_after_redirect", 90[a]);setTimeout(function(){bookacti_stop_loading_booking_system(b);f.length&&(bookacti_remove_loading_html(b),f.prop("disabled",!1))},a["data-redirect-timeout"])}};
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.