"use strict";function wpbc_trim(string_to_trim){if(Array.isArray(string_to_trim)){string_to_trim=string_to_trim.join(',');}if('string'==typeof string_to_trim){string_to_trim=string_to_trim.trim();}return string_to_trim;}function wpbc_in_array(array_here,p_val){for(var i=0,l=array_here.length;i<l;i++){if(array_here[i]==p_val){return true;}}return false;}(function(){'use strict';function is_playground_origin(){return location.origin==='https://playground.wordpress.net';}function is_pseudo_link(a){if(!a||!a.getAttribute)return true;var href=(a.getAttribute('href')||'').trim().toLowerCase();return!href||href==='#'||href.indexOf('#')===0||href.indexOf('javascript:')===0||href.indexOf('mailto:')===0||href.indexOf('tel:')===0;}function fix_target(a){if(!a)return;if(is_pseudo_link(a)||a.hasAttribute('data-wp-no-blank')){a.target='_self';}}function init_fix(){// Optional: clean up current DOM (harmless—affects only pseudo/datamarked links).
var nodes=document.querySelectorAll('a[href]');for(var i=0;i<nodes.length;i++)fix_target(nodes[i]);
document.addEventListener('click',function(e){var a=e.target&&e.target.closest?e.target.closest('a[href]'):null;if(a)fix_target(a);},false);document.addEventListener('focusin',function(e){var a=e.target&&e.target.closest?e.target.closest('a[href]'):null;if(a)fix_target(a);});}function schedule_init(){if(!is_playground_origin())return;setTimeout(init_fix,1000);
}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',schedule_init);}else{schedule_init();}})();"use strict";function wpbc_clone_obj(obj){return JSON.parse(JSON.stringify(obj));}var _wpbc=function(obj,$){
var p_secure=obj.security_obj=obj.security_obj||{user_id:0,nonce:'',locale:''};obj.set_secure_param=function(param_key,param_val){p_secure[param_key]=param_val;};obj.get_secure_param=function(param_key){return p_secure[param_key];};
var p_calendars=obj.calendars_obj=obj.calendars_obj||{
};obj.calendar__is_defined=function(resource_id){return'undefined'!==typeof p_calendars['calendar_'+resource_id];};obj.calendar__init=function(resource_id){p_calendars['calendar_'+resource_id]={};p_calendars['calendar_'+resource_id]['id']=resource_id;p_calendars['calendar_'+resource_id]['pending_days_selectable']=false;};obj.calendar__is_prop_int=function(property_name){
var p_calendar_int_properties=['dynamic__days_min','dynamic__days_max','fixed__days_num'];var is_include=p_calendar_int_properties.includes(property_name);return is_include;};obj.calendars_all__set=function(calendars_obj){p_calendars=calendars_obj;};obj.calendars_all__get=function(){return p_calendars;};obj.calendar__get_parameters=function(resource_id){if(obj.calendar__is_defined(resource_id)){return p_calendars['calendar_'+resource_id];}else{return false;}};obj.calendar__set_parameters=function(resource_id,calendar_property_obj,is_complete_overwrite=false){if(!obj.calendar__is_defined(resource_id)||true===is_complete_overwrite){obj.calendar__init(resource_id);}for(var prop_name in calendar_property_obj){p_calendars['calendar_'+resource_id][prop_name]=calendar_property_obj[prop_name];}return p_calendars['calendar_'+resource_id];};obj.calendar__set_param_value=function(resource_id,prop_name,prop_value){if(!obj.calendar__is_defined(resource_id)){obj.calendar__init(resource_id);}p_calendars['calendar_'+resource_id][prop_name]=prop_value;return p_calendars['calendar_'+resource_id];};obj.calendar__get_param_value=function(resource_id,prop_name){if(obj.calendar__is_defined(resource_id)&&'undefined'!==typeof p_calendars['calendar_'+resource_id][prop_name]){
if(obj.calendar__is_prop_int(prop_name)){p_calendars['calendar_'+resource_id][prop_name]=parseInt(p_calendars['calendar_'+resource_id][prop_name]);}return p_calendars['calendar_'+resource_id][prop_name];}return null;
};
var p_bookings=obj.bookings_obj=obj.bookings_obj||{
};obj.bookings_in_calendar__is_defined=function(resource_id){return'undefined'!==typeof p_bookings['calendar_'+resource_id];};obj.bookings_in_calendar__get=function(resource_id){if(obj.bookings_in_calendar__is_defined(resource_id)){return p_bookings['calendar_'+resource_id];}else{return false;}};obj.bookings_in_calendar__set=function(resource_id,calendar_obj){if(!obj.bookings_in_calendar__is_defined(resource_id)){p_bookings['calendar_'+resource_id]={};p_bookings['calendar_'+resource_id]['id']=resource_id;}for(var prop_name in calendar_obj){p_bookings['calendar_'+resource_id][prop_name]=calendar_obj[prop_name];}return p_bookings['calendar_'+resource_id];};
obj.bookings_in_calendar__get_dates=function(resource_id){if(obj.bookings_in_calendar__is_defined(resource_id)&&'undefined'!==typeof p_bookings['calendar_'+resource_id]['dates']){return p_bookings['calendar_'+resource_id]['dates'];}return false;
};obj.bookings_in_calendar__set_dates=function(resource_id,dates_obj,is_complete_overwrite=true){if(!obj.bookings_in_calendar__is_defined(resource_id)){obj.bookings_in_calendar__set(resource_id,{'dates':{}});}if('undefined'===typeof p_bookings['calendar_'+resource_id]['dates']){p_bookings['calendar_'+resource_id]['dates']={};}if(is_complete_overwrite){
p_bookings['calendar_'+resource_id]['dates']=dates_obj;}else{
for(var prop_name in dates_obj){p_bookings['calendar_'+resource_id]['dates'][prop_name]=dates_obj[prop_name];}}return p_bookings['calendar_'+resource_id];};obj.bookings_in_calendar__get_for_date=function(resource_id,sql_class_day){if(obj.bookings_in_calendar__is_defined(resource_id)&&'undefined'!==typeof p_bookings['calendar_'+resource_id]['dates']&&'undefined'!==typeof p_bookings['calendar_'+resource_id]['dates'][sql_class_day]){return p_bookings['calendar_'+resource_id]['dates'][sql_class_day];}return false;
};
obj.booking__set_param_value=function(resource_id,prop_name,prop_value){if(!obj.bookings_in_calendar__is_defined(resource_id)){p_bookings['calendar_'+resource_id]={};p_bookings['calendar_'+resource_id]['id']=resource_id;}p_bookings['calendar_'+resource_id][prop_name]=prop_value;return p_bookings['calendar_'+resource_id];};obj.booking__get_param_value=function(resource_id,prop_name){if(obj.bookings_in_calendar__is_defined(resource_id)&&'undefined'!==typeof p_bookings['calendar_'+resource_id][prop_name]){return p_bookings['calendar_'+resource_id][prop_name];}return null;
};obj.bookings_in_calendars__set_all=function(calendars_obj){p_bookings=calendars_obj;};obj.bookings_in_calendars__get_all=function(){return p_bookings;};
var p_seasons=obj.seasons_obj=obj.seasons_obj||{
};obj.seasons__set=function(resource_id,dates_obj,is_complete_overwrite=false){if('undefined'===typeof p_seasons['calendar_'+resource_id]){p_seasons['calendar_'+resource_id]={};}if(is_complete_overwrite){
p_seasons['calendar_'+resource_id]=dates_obj;}else{
for(var prop_name in dates_obj){if('undefined'===typeof p_seasons['calendar_'+resource_id][prop_name]){p_seasons['calendar_'+resource_id][prop_name]=[];}for(var season_name_key in dates_obj[prop_name]){p_seasons['calendar_'+resource_id][prop_name].push(dates_obj[prop_name][season_name_key]);}}}return p_seasons['calendar_'+resource_id];};obj.seasons__get_for_date=function(resource_id,sql_class_day){if('undefined'!==typeof p_seasons['calendar_'+resource_id]&&'undefined'!==typeof p_seasons['calendar_'+resource_id][sql_class_day]){return p_seasons['calendar_'+resource_id][sql_class_day];}return[];
};
var p_other=obj.other_obj=obj.other_obj||{};obj.set_other_param=function(param_key,param_val){p_other[param_key]=param_val;};obj.get_other_param=function(param_key){return p_other[param_key];};obj.get_other_param__all=function(){return p_other;};
var p_messages=obj.messages_obj=obj.messages_obj||{};obj.set_message=function(param_key,param_val){p_messages[param_key]=param_val;};obj.get_message=function(param_key){return p_messages[param_key];};obj.get_messages__all=function(){return p_messages;};
return obj;}(_wpbc||{},jQuery);window.__WPBC_DEV=true;_wpbc=function(obj,$){/**
* Dev logger (no-op unless window.__WPBC_DEV=true)
*
* @type {*|{warn: (function(*, *, *): void), error: (function(*, *, *): void), once: obj.dev.once, try: ((function(*, *, *): (*|undefined))|*)}}
*/obj.dev=obj.dev||(()=>{const seen=new Set();const enabled=()=>!!window.__WPBC_DEV;function out(level,code,msg,extra){if(!enabled())return;try{(console[level]||console.warn)(`[WPBC][${code}] ${msg}`,extra??'');}catch{}}return{log:(code,msg,extra)=>out('log',code,msg,extra),debug:(code,msg,extra)=>out('debug',code,msg,extra),warn:(code,msg,extra)=>out('warn',code,msg,extra),error:(code,errOrMsg,extra)=>out('error',code,errOrMsg instanceof Error?errOrMsg.message:String(errOrMsg),errOrMsg instanceof Error?errOrMsg:extra),once:(code,msg,extra)=>{if(!enabled())return;const key=`${code}|${msg}`;if(seen.has(key))return;seen.add(key);out('error',code,msg,extra);},try:(code,fn,extra)=>{try{return fn();}catch(e){out('error',code,e,extra);}}};})();
if(window.__WPBC_DEV){window.addEventListener('error',e=>{try{_wpbc?.dev?.error('GLOBAL-ERROR',e?.error||e?.message,e);}catch(_){}});window.addEventListener('unhandledrejection',e=>{try{_wpbc?.dev?.error('GLOBAL-REJECTION',e?.reason);}catch(_){}});}return obj;}(_wpbc||{},jQuery);_wpbc=function(obj,$){
var p_balancer=obj.balancer_obj=obj.balancer_obj||{'max_threads':2,'in_process':[],'wait':[]};obj.balancer__set_max_threads=function(max_threads){p_balancer['max_threads']=max_threads;};obj.balancer__is_defined=function(resource_id){return'undefined'!==typeof p_balancer['balancer_'+resource_id];};obj.balancer__init=function(resource_id,function_name,params={}){var balance_obj={};balance_obj['resource_id']=resource_id;balance_obj['priority']=1;balance_obj['function_name']=function_name;balance_obj['params']=wpbc_clone_obj(params);if(obj.balancer__is_already_run(resource_id,function_name)){return'run';}if(obj.balancer__is_already_wait(resource_id,function_name)){return'wait';}if(obj.balancer__can_i_run()){obj.balancer__add_to__run(balance_obj);return'run';}else{obj.balancer__add_to__wait(balance_obj);return'wait';}};obj.balancer__can_i_run=function(){return p_balancer['in_process'].length<p_balancer['max_threads'];};obj.balancer__add_to__wait=function(balance_obj){p_balancer['wait'].push(balance_obj);};obj.balancer__remove_from__wait_list=function(resource_id,function_name){var removed_el=false;if(p_balancer['wait'].length){
for(var i in p_balancer['wait']){if(resource_id===p_balancer['wait'][i]['resource_id']&&function_name===p_balancer['wait'][i]['function_name']){removed_el=p_balancer['wait'].splice(i,1);removed_el=removed_el.pop();p_balancer['wait']=p_balancer['wait'].filter(function(v){return v;});
return removed_el;}}}return removed_el;};obj.balancer__is_already_wait=function(resource_id,function_name){if(p_balancer['wait'].length){
for(var i in p_balancer['wait']){if(resource_id===p_balancer['wait'][i]['resource_id']&&function_name===p_balancer['wait'][i]['function_name']){return true;}}}return false;};obj.balancer__add_to__run=function(balance_obj){p_balancer['in_process'].push(balance_obj);};obj.balancer__remove_from__run_list=function(resource_id,function_name){var removed_el=false;if(p_balancer['in_process'].length){
for(var i in p_balancer['in_process']){if(resource_id===p_balancer['in_process'][i]['resource_id']&&function_name===p_balancer['in_process'][i]['function_name']){removed_el=p_balancer['in_process'].splice(i,1);removed_el=removed_el.pop();p_balancer['in_process']=p_balancer['in_process'].filter(function(v){return v;});
return removed_el;}}}return removed_el;};obj.balancer__is_already_run=function(resource_id,function_name){if(p_balancer['in_process'].length){
for(var i in p_balancer['in_process']){if(resource_id===p_balancer['in_process'][i]['resource_id']&&function_name===p_balancer['in_process'][i]['function_name']){return true;}}}return false;};obj.balancer__run_next=function(){
var removed_el=false;if(p_balancer['wait'].length){
for(var i in p_balancer['wait']){removed_el=obj.balancer__remove_from__wait_list(p_balancer['wait'][i]['resource_id'],p_balancer['wait'][i]['function_name']);break;}}if(false!==removed_el){
obj.balancer__run(removed_el);}};obj.balancer__run=function(balance_obj){switch(balance_obj['function_name']){case'wpbc_calendar__load_data__ajx':
obj.balancer__add_to__run(balance_obj);wpbc_calendar__load_data__ajx(balance_obj['params']);break;default:}};return obj;}(_wpbc||{},jQuery);function wpbc_balancer__is_wait(params,function_name){//console.log('::wpbc_balancer__is_wait',params , function_name);
if('undefined'!==typeof params['resource_id']){var balancer_status=_wpbc.balancer__init(params['resource_id'],function_name,params);return'wait'===balancer_status;}return false;}function wpbc_balancer__completed(resource_id,function_name){//console.log('::wpbc_balancer__completed',resource_id , function_name);
_wpbc.balancer__remove_from__run_list(resource_id,function_name);_wpbc.balancer__run_next();}function wpbc_calendar_show(resource_id){
if(0===jQuery('#calendar_booking'+resource_id).length){return false;}
if(jQuery('#calendar_booking'+resource_id).hasClass('hasDatepick')){var existing_inst=null;try{existing_inst=jQuery.datepick._getInst(jQuery('#calendar_booking'+resource_id).get(0));}catch(e){existing_inst=null;}if(existing_inst){return false;}
jQuery('#calendar_booking'+resource_id).removeClass('hasDatepick');}
var local__is_range_select=false;var local__multi_days_select_num=365;
if('dynamic'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){local__is_range_select=true;local__multi_days_select_num=0;}if('single'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){local__multi_days_select_num=0;}
var local__min_date=0;local__min_date=new Date(_wpbc.get_other_param('today_arr')[0],parseInt(_wpbc.get_other_param('today_arr')[1])-1,_wpbc.get_other_param('today_arr')[2],0,0,0);
var local__max_date=_wpbc.calendar__get_param_value(resource_id,'booking_max_monthes_in_calendar');
if(false!==wpbc_calendar__get_dates_start(resource_id)){local__min_date=wpbc_calendar__get_dates_start(resource_id);
}if(false!==wpbc_calendar__get_dates_end(resource_id)){local__max_date=wpbc_calendar__get_dates_end(resource_id);
}
var wpbc_edit_booking_hash=_wpbc.get_other_param('this_page_booking_hash');var wpbc_is_edit_booking_context='undefined'!==typeof wpbc_edit_booking_hash&&''!==wpbc_edit_booking_hash;var wpbc_allow_past_context=_wpbc.get_other_param('this_page_allow_past');var wpbc_is_allow_past_context='1'===String(wpbc_allow_past_context)||1===wpbc_allow_past_context||true===wpbc_allow_past_context;var wpbc_allow_past_date_arr=_wpbc.get_other_param('this_page_allow_past_arr');var wpbc_is_add_booking_admin_page=location.href.indexOf('page=wpbc')!=-1&&location.href.indexOf('tab=add-booking')!=-1;if((wpbc_is_add_booking_admin_page||wpbc_is_edit_booking_context||wpbc_is_allow_past_context)&&(wpbc_is_edit_booking_context||wpbc_is_allow_past_context||location.href.indexOf('booking_hash')!=-1
||location.href.indexOf('allow_past')!=-1
)){
var wpbc_min_date_arr=wpbc_is_allow_past_context&&wpbc_allow_past_date_arr&&5<=wpbc_allow_past_date_arr.length?wpbc_allow_past_date_arr:_wpbc.get_other_param('time_local_arr');local__min_date=new Date(wpbc_min_date_arr[0],parseInt(wpbc_min_date_arr[1])-1,wpbc_min_date_arr[2],wpbc_min_date_arr[3],wpbc_min_date_arr[4],0);local__max_date=null;}var local__start_weekday=_wpbc.calendar__get_param_value(resource_id,'booking_start_day_weeek');var local__number_of_months=parseInt(_wpbc.calendar__get_param_value(resource_id,'calendar_number_of_months'));jQuery('#calendar_booking'+resource_id).text('');
jQuery('#calendar_booking'+resource_id).datepick({beforeShowDay:function(js_date){return wpbc__calendar__apply_css_to_days(js_date,{'resource_id':resource_id},this);},onSelect:function(string_dates,js_dates_arr){return wpbc__calendar__on_select_days(string_dates,{'resource_id':resource_id},this);},onHover:function(string_date,js_date){return wpbc__calendar__on_hover_days(string_date,js_date,{'resource_id':resource_id},this);},onChangeMonthYear:function(year,real_month,js_date__1st_day_in_month){},showOn:'both',numberOfMonths:local__number_of_months,stepMonths:1,
prevText:'&lsaquo;',nextText:'&rsaquo;',dateFormat:'dd.mm.yy',changeMonth:false,changeYear:false,minDate:local__min_date,maxDate:local__max_date,// '1Y',
showStatus:false,multiSeparator:', ',closeAtTop:false,firstDay:local__start_weekday,gotoCurrent:false,hideIfNoPrevNext:true,multiSelect:local__multi_days_select_num,rangeSelect:local__is_range_select,
useThemeRoller:false});
setTimeout(function(){wpbc_calendars__clear_days_highlighting(resource_id);},500);
var start_bk_month=_wpbc.calendar__get_param_value(resource_id,'calendar_scroll_to');if(false!==start_bk_month){wpbc_calendar__scroll_to(resource_id,start_bk_month[0],start_bk_month[1]);}}function wpbc_get_booking_statuses__as_arr(date_bookings_obj){if(!date_bookings_obj||'undefined'===typeof date_bookings_obj['summary']){return[];}if(Array.isArray(date_bookings_obj['summary']['status_for_bookings_arr'])){return date_bookings_obj['summary']['status_for_bookings_arr'].filter(function(booking_status){return''!==booking_status;});}if(!date_bookings_obj['summary']['status_for_bookings']){return[];}return date_bookings_obj['summary']['status_for_bookings'].toString().trim().split(/\s+/).filter(function(booking_status){return''!==booking_status;});}function wpbc_booking_statuses__has(booking_statuses_arr,booking_status){return booking_statuses_arr.indexOf(booking_status)>-1;}function wpbc_booking_statuses__has_part(booking_statuses_arr,booking_status_part){for(var i=0;i<booking_statuses_arr.length;i++){if(booking_statuses_arr[i].split('_').indexOf(booking_status_part)>-1){return true;}}return false;}function wpbc__calendar__apply_css_to_days(date,calendar_params_arr,datepick_this){var today_date=new Date(_wpbc.get_other_param('today_arr')[0],parseInt(_wpbc.get_other_param('today_arr')[1])-1,_wpbc.get_other_param('today_arr')[2],0,0,0);
var class_day=wpbc__get__td_class_date(date);// '1-9-2023'
var sql_class_day=wpbc__get__sql_class_date(date);// '2023-01-09'
var resource_id='undefined'!==typeof calendar_params_arr['resource_id']?calendar_params_arr['resource_id']:'1';// '1'
var selected_dates_sql=wpbc_get__selected_dates_sql__as_arr(resource_id);
var date_bookings_obj=_wpbc.bookings_in_calendar__get_for_date(resource_id,sql_class_day);
var css_classes__for_date=[];css_classes__for_date.push('sql_date_'+sql_class_day);//  'sql_date_2023-07-21'
css_classes__for_date.push('cal4date-'+class_day);//  'cal4date-7-21-2023'
css_classes__for_date.push('wpbc_weekday_'+date.getDay());//  'wpbc_weekday_4'
if(selected_dates_sql.length
){if(sql_class_day===selected_dates_sql[0]){css_classes__for_date.push('selected_check_in');css_classes__for_date.push('selected_check_in_out');}if(selected_dates_sql.length>1&&sql_class_day===selected_dates_sql[selected_dates_sql.length-1]){css_classes__for_date.push('selected_check_out');css_classes__for_date.push('selected_check_in_out');}}var is_day_selectable=false;// If something not defined,  then  this date closed --------------------------------------------------------------- // FixIn: 10.12.4.6.
if(false===date_bookings_obj||'undefined'===typeof date_bookings_obj[resource_id]){css_classes__for_date.push('date_user_unavailable');return[is_day_selectable,css_classes__for_date.join(' ')];}
var booking_statuses_arr=wpbc_get_booking_statuses__as_arr(date_bookings_obj);
var season_names_arr=_wpbc.seasons__get_for_date(resource_id,sql_class_day);for(var season_key in season_names_arr){css_classes__for_date.push(season_names_arr[season_key]);//  'wpdevbk_season_september_2023'
}
css_classes__for_date.push('rate_'+date_bookings_obj[resource_id]['date_cost_rate'].toString().replace(/[\.\s]/g,'_'));//  'rate_99_00' -> 99.00
if(parseInt(date_bookings_obj['day_availability'])>0){is_day_selectable=true;css_classes__for_date.push('date_available');css_classes__for_date.push('reserved_days_count'+parseInt(date_bookings_obj['max_capacity']-date_bookings_obj['day_availability']));}else{is_day_selectable=false;css_classes__for_date.push('date_user_unavailable');}switch(date_bookings_obj['summary']['status_for_day']){case'available':break;case'time_slots_booking':css_classes__for_date.push('timespartly','times_clock');break;case'full_day_booking':css_classes__for_date.push('full_day_booking');break;case'season_filter':css_classes__for_date.push('date_user_unavailable','season_unavailable');date_bookings_obj['summary']['status_for_bookings']='';
date_bookings_obj['summary']['status_for_bookings_arr']=[];booking_statuses_arr=[];break;case'resource_availability':css_classes__for_date.push('date_user_unavailable','resource_unavailable');date_bookings_obj['summary']['status_for_bookings']='';
date_bookings_obj['summary']['status_for_bookings_arr']=[];booking_statuses_arr=[];break;case'weekday_unavailable':css_classes__for_date.push('date_user_unavailable','weekday_unavailable');date_bookings_obj['summary']['status_for_bookings']='';
date_bookings_obj['summary']['status_for_bookings_arr']=[];booking_statuses_arr=[];break;case'from_today_unavailable':css_classes__for_date.push('date_user_unavailable','from_today_unavailable');date_bookings_obj['summary']['status_for_bookings']='';
date_bookings_obj['summary']['status_for_bookings_arr']=[];booking_statuses_arr=[];break;case'limit_available_from_today':css_classes__for_date.push('date_user_unavailable','limit_available_from_today');date_bookings_obj['summary']['status_for_bookings']='';
date_bookings_obj['summary']['status_for_bookings_arr']=[];booking_statuses_arr=[];break;case'change_over':css_classes__for_date.push('timespartly','check_in_time','check_out_time');
if(wpbc_booking_statuses__has(booking_statuses_arr,'approved_pending')){css_classes__for_date.push('check_out_time_date_approved','check_in_time_date2approve');}if(wpbc_booking_statuses__has(booking_statuses_arr,'pending_approved')){css_classes__for_date.push('check_out_time_date2approve','check_in_time_date_approved');}break;case'check_in':css_classes__for_date.push('timespartly','check_in_time');
if(wpbc_booking_statuses__has_part(booking_statuses_arr,'pending')){css_classes__for_date.push('check_in_time_date2approve');}else if(wpbc_booking_statuses__has_part(booking_statuses_arr,'approved')){css_classes__for_date.push('check_in_time_date_approved');}break;case'check_out':css_classes__for_date.push('timespartly','check_out_time');
if(wpbc_booking_statuses__has_part(booking_statuses_arr,'pending')){css_classes__for_date.push('check_out_time_date2approve');}else if(wpbc_booking_statuses__has_part(booking_statuses_arr,'approved')){css_classes__for_date.push('check_out_time_date_approved');}break;de
date_bookings_obj['summary']['status_for_day']='available';}if('available'!=date_bookings_obj['summary']['status_for_day']){var is_set_pending_days_selectable=_wpbc.calendar__get_param_value(resource_id,'pending_days_selectable');// set pending days selectable          // FixIn: 8.6.1.18.
if(wpbc_booking_statuses__has(booking_statuses_arr,'pending')){css_classes__for_date.push('date2approve');is_day_selectable=is_day_selectable?true:is_set_pending_days_selectable;}if(wpbc_booking_statuses__has(booking_statuses_arr,'approved')){css_classes__for_date.push('date_approved');}if(wpbc_booking_statuses__has(booking_statuses_arr,'pending_pending')){css_classes__for_date.push('check_out_time_date2approve','check_in_time_date2approve');is_day_selectable=is_day_selectable?true:is_set_pending_days_selectable;}if(wpbc_booking_statuses__has(booking_statuses_arr,'pending_approved')){css_classes__for_date.push('check_out_time_date2approve','check_in_time_date_approved');is_day_selectable=is_day_selectable?true:is_set_pending_days_selectable;}if(wpbc_booking_statuses__has(booking_statuses_arr,'approved_pending')){css_classes__for_date.push('check_out_time_date_approved','check_in_time_date2approve');is_day_selectable=is_day_selectable?true:is_set_pending_days_selectable;}if(wpbc_booking_statuses__has(booking_statuses_arr,'approved_approved')){css_classes__for_date.push('check_out_time_date_approved','check_in_time_date_approved');}}return[is_day_selectable,css_classes__for_date.join(' ')];}function wpbc__calendar__on_hover_days(string_date,date,calendar_params_arr,datepick_this){if(null===date){wpbc_calendars__clear_days_highlighting('undefined'!==typeof calendar_params_arr['resource_id']?calendar_params_arr['resource_id']:'1');
return false;}var class_day=wpbc__get__td_class_date(date);// '1-9-2023'
var sql_class_day=wpbc__get__sql_class_date(date);// '2023-01-09'
var resource_id='undefined'!==typeof calendar_params_arr['resource_id']?calendar_params_arr['resource_id']:'1';// '1'
var date_booking_obj=_wpbc.bookings_in_calendar__get_for_date(resource_id,sql_class_day);
if(!date_booking_obj){return false;}
var tooltip_text='';if(date_booking_obj['summary']['tooltip_availability'].length>0){tooltip_text+=date_booking_obj['summary']['tooltip_availability'];}if(date_booking_obj['summary']['tooltip_day_cost'].length>0){tooltip_text+=date_booking_obj['summary']['tooltip_day_cost'];}if(date_booking_obj['summary']['tooltip_times'].length>0){tooltip_text+=date_booking_obj['summary']['tooltip_times'];}if(date_booking_obj['summary']['tooltip_booking_details'].length>0){tooltip_text+=date_booking_obj['summary']['tooltip_booking_details'];}wpbc_set_tooltip___for__calendar_date(tooltip_text,resource_id,class_day);
var is_unselectable_calendar=jQuery('#calendar_booking_unselectable'+resource_id).length>0;
var is_booking_form_exist=jQuery('#booking_form_div'+resource_id).length>0;var is_add_booking_modal_calendar=jQuery('#calendar_booking'+resource_id).closest('#wpbc_modal__add_booking__section').length>0;if(is_unselectable_calendar&&!is_booking_form_exist){wpbc_calendars__clear_days_highlighting(resource_id);
var css_of_calendar='.wpbc_only_calendar #calendar_booking'+resource_id;jQuery(css_of_calendar+' .datepick-days-cell, '+css_of_calendar+' .datepick-days-cell a').css('cursor','default');
return false;}
if(location.href.indexOf('page=wpbc')==-1||location.href.indexOf('page=wpbc')>0&&location.href.indexOf('tab=add-booking')>0||is_add_booking_modal_calendar||location.href.indexOf('page=wpbc-setup')>0||location.href.indexOf('page=wpbc-availability')>0||location.href.indexOf('page=wpbc-settings')>0&&location.href.indexOf('&tab=form')>0){
if('function'==typeof wpbc__calendar__do_days_highlight__bs){wpbc__calendar__do_days_highlight__bs(sql_class_day,date,resource_id);}}}function wpbc__calendar__on_select_days(date,calendar_params_arr,datepick_this){var resource_id='undefined'!==typeof calendar_params_arr['resource_id']?calendar_params_arr['resource_id']:'1';// '1'
var is_unselectable_calendar=jQuery('#calendar_booking_unselectable'+resource_id).length>0;
var is_booking_form_exist=jQuery('#booking_form_div'+resource_id).length>0;if(is_unselectable_calendar&&!is_booking_form_exist){wpbc_calendar__unselect_all_dates(resource_id);
jQuery('.wpbc_only_calendar .popover_calendar_hover').remove();
return false;}jQuery('#date_booking'+resource_id).val(date);
if('function'===typeof wpbc__calendar__do_days_select__bs){wpbc__calendar__do_days_select__bs(date,resource_id);}wpbc_disable_time_fields_in_booking_form(resource_id);
var mouse_clicked_dates=date;
var all_selected_dates_arr=wpbc_get__selected_dates_sql__as_arr(resource_id);
jQuery(".booking_form_div").trigger("date_selected",[resource_id,mouse_clicked_dates,all_selected_dates_arr]);}// Mark middle selected dates with 0.5 opacity		// FixIn: 10.3.0.9.
jQuery(document).ready(function(){jQuery(".booking_form_div").on('date_selected',function(event,resource_id,date){if('fixed'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')||'dynamic'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){var closed_timer=setTimeout(function(){var middle_days_opacity=_wpbc.get_other_param('calendars__days_selection__middle_days_opacity');jQuery('#calendar_booking'+resource_id+' .datepick-current-day').not(".selected_check_in_out").css('opacity',middle_days_opacity);},10);}});});function wpbc_disable_time_fields_in_booking_form(resource_id){var time_fields_obj_arr=wpbc_get__time_fields__in_booking_form__as_arr(resource_id);
var selected_dates_arr=wpbc_get__selected_dates_sql__as_arr(resource_id);
var child_resources_arr=wpbc_clone_obj(_wpbc.booking__get_param_value(resource_id,'resources_id_arr__in_dates'));var sql_date;var child_resource_id;var merged_seconds;var time_fields_obj;var is_intersect;var is_check_in;var today_time__real=new Date(_wpbc.get_other_param('time_local_arr')[0],parseInt(_wpbc.get_other_param('time_local_arr')[1])-1,_wpbc.get_other_param('time_local_arr')[2],_wpbc.get_other_param('time_local_arr')[3],_wpbc.get_other_param('time_local_arr')[4],0);var today_time__shift=new Date(_wpbc.get_other_param('today_arr')[0],parseInt(_wpbc.get_other_param('today_arr')[1])-1,_wpbc.get_other_param('today_arr')[2],_wpbc.get_other_param('today_arr')[3],_wpbc.get_other_param('today_arr')[4],0);var allow_past_context=_wpbc.get_other_param('this_page_allow_past');var edit_booking_hash_context=_wpbc.get_other_param('this_page_booking_hash');var is_allow_past_context='1'===String(allow_past_context)||1===allow_past_context||true===allow_past_context||''!==String(edit_booking_hash_context||'')||location.href.indexOf('booking_hash')>-1||location.href.indexOf('allow_past')>-1;// 4. Loop  all  time Fields options		// FixIn: 10.3.0.2.
for(let field_key=0;field_key<time_fields_obj_arr.length;field_key++){time_fields_obj_arr[field_key].disabled=0;
time_fields_obj=time_fields_obj_arr[field_key];
for(var i=0;i<selected_dates_arr.length;i++){
sql_date=selected_dates_arr[i];var is_time_in_past=is_allow_past_context?false:wpbc_check_is_time_in_past(today_time__shift,sql_date,time_fields_obj);// Exception  for 'End Time' field,  when  selected several dates. // FixIn: 10.14.1.5.
if(!is_allow_past_context&&'On'!==_wpbc.calendar__get_param_value(resource_id,'booking_recurrent_time')&&-1!==time_fields_obj.name.indexOf('endtime')&&selected_dates_arr.length>1){is_time_in_past=wpbc_check_is_time_in_past(today_time__shift,selected_dates_arr[selected_dates_arr.length-1],time_fields_obj);}if(is_time_in_past){
time_fields_obj_arr[field_key].disabled=1;break;
}
if('Off'===_wpbc.calendar__get_param_value(resource_id,'booking_recurrent_time')&&selected_dates_arr.length>1){
if(0==i&&time_fields_obj['name'].indexOf('endtime')>=0){break;}if(selected_dates_arr.length-1==i&&time_fields_obj['name'].indexOf('starttime')>=0){break;}}var how_many_resources_intersected=0;
if(null===child_resources_arr){child_resources_arr=[];}for(let res_key=0;res_key<child_resources_arr.length;res_key++){child_resource_id=child_resources_arr[res_key];
if(false!==_wpbc.bookings_in_calendar__get_for_date(resource_id,sql_date)){merged_seconds=_wpbc.bookings_in_calendar__get_for_date(resource_id,sql_date)[child_resource_id].booked_time_slots.merged_seconds;
}else{merged_seconds=[];}if(time_fields_obj.times_as_seconds.length>1){is_intersect=wpbc_is_intersect__range_time_interval([[parseInt(time_fields_obj.times_as_seconds[0])+20,parseInt(time_fields_obj.times_as_seconds[1])-20]],merged_seconds);}else{is_check_in=-1!==time_fields_obj.name.indexOf('start');is_intersect=wpbc_is_intersect__one_time_interval(is_check_in?parseInt(time_fields_obj.times_as_seconds)+20:parseInt(time_fields_obj.times_as_seconds)-20,merged_seconds);}if(is_intersect){how_many_resources_intersected++;
}}if(child_resources_arr.length==how_many_resources_intersected){
time_fields_obj_arr[field_key].disabled=1;break;
}}}
wpbc__html__time_field_options__set_disabled(time_fields_obj_arr);jQuery(".booking_form_div").trigger('wpbc_hook_timeslots_disabled',[resource_id,selected_dates_arr]);// Trigger hook on disabling timeslots.		Usage: 	jQuery(".booking_form_div").on('wpbc_hook_timeslots_disabled', function(event, bk_type, all_dates){ ... });		// FixIn: 8.7.11.9.
}function wpbc_check_is_time_in_past(js_current_time_to_check,sql_date,time_fields_obj){
var sql_date_arr=sql_date.split('-');var sql_date__midnight=new Date(parseInt(sql_date_arr[0]),parseInt(sql_date_arr[1])-1,parseInt(sql_date_arr[2]),0,0,0);var sql_date__midnight_miliseconds=sql_date__midnight.getTime();var is_intersect=false;if(time_fields_obj.times_as_seconds.length>1){if(js_current_time_to_check.getTime()>sql_date__midnight_miliseconds+(parseInt(time_fields_obj.times_as_seconds[0])+20)*1000){is_intersect=true;}if(js_current_time_to_check.getTime()>sql_date__midnight_miliseconds+(parseInt(time_fields_obj.times_as_seconds[1])-20)*1000){is_intersect=true;}}else{var is_check_in=-1!==time_fields_obj.name.indexOf('start');var times_as_seconds_check=is_check_in?parseInt(time_fields_obj.times_as_seconds)+20:parseInt(time_fields_obj.times_as_seconds)-20;times_as_seconds_check=sql_date__midnight_miliseconds+times_as_seconds_check*1000;if(js_current_time_to_check.getTime()>times_as_seconds_check){is_intersect=true;}}return is_intersect;}function wpbc_is_intersect__one_time_interval(time_A,time_interval_B){for(var j=0;j<time_interval_B.length;j++){if(parseInt(time_A)>parseInt(time_interval_B[j][0])&&parseInt(time_A)<parseInt(time_interval_B[j][1])){return true;}}return false;}function wpbc_is_intersect__range_time_interval(time_interval_A,time_interval_B){var is_intersect;for(var i=0;i<time_interval_A.length;i++){for(var j=0;j<time_interval_B.length;j++){is_intersect=wpbc_intervals__is_intersected(time_interval_A[i],time_interval_B[j]);if(is_intersect){return true;}}}return false;}function wpbc_get__time_fields__in_booking_form__as_arr(resource_id){var time_fields_arr=['select[name="rangetime'+resource_id+'"]','select[name="rangetime'+resource_id+'[]"]','select[name="starttime'+resource_id+'"]','select[name="starttime'+resource_id+'[]"]','select[name="endtime'+resource_id+'"]','select[name="endtime'+resource_id+'[]"]'];var time_fields_obj_arr=[];
for(var ctf=0;ctf<time_fields_arr.length;ctf++){var time_field=time_fields_arr[ctf];var time_option=jQuery(time_field+' option');
for(var j=0;j<time_option.length;j++){var jquery_option=jQuery(time_field+' option:eq('+j+')');var value_option_seconds_arr=jquery_option.val().split('-');var times_as_seconds=[];
if(value_option_seconds_arr.length){
for(let i=0;i<value_option_seconds_arr.length;i++){
var start_end_times_arr=value_option_seconds_arr[i].trim().split(':');var time_in_seconds=parseInt(start_end_times_arr[0])*60*60+parseInt(start_end_times_arr[1])*60;times_as_seconds.push(time_in_seconds);}}time_fields_obj_arr.push({'name':jQuery(time_field).attr('name'),'value_option_24h':jquery_option.val(),'jquery_option':jquery_option,'times_as_seconds':times_as_seconds});}}return time_fields_obj_arr;}function wpbc__html__time_field_options__set_disabled(time_fields_obj_arr){var jquery_option;for(var i=0;i<time_fields_obj_arr.length;i++){var jquery_option=time_fields_obj_arr[i].jquery_option;if(1==time_fields_obj_arr[i].disabled){jquery_option.prop('disabled',true);
jquery_option.addClass('booked');
if(jquery_option.prop('selected')){jquery_option.prop('selected',false);jquery_option.parent().find('option:not([disabled]):first').prop('selected',true).trigger("change");}}else{jquery_option.prop('disabled',false);
jquery_option.removeClass('booked');
}}}function wpbc_is_this_timeslot__full_day_booked(timeslot_arr_in_seconds){if(timeslot_arr_in_seconds.length>1&&parseInt(timeslot_arr_in_seconds[0])<30&&parseInt(timeslot_arr_in_seconds[1])>24*60*60-30){return true;}return false;}
function wpbc_get__selected_dates_sql__as_arr(resource_id){var selected_dates_arr=[];selected_dates_arr=jQuery('#date_booking'+resource_id).val().split(',');if(selected_dates_arr.length){
for(let i=0;i<selected_dates_arr.length;i++){
selected_dates_arr[i]=selected_dates_arr[i].trim();selected_dates_arr[i]=selected_dates_arr[i].split('.');if(selected_dates_arr[i].length>1){selected_dates_arr[i]=selected_dates_arr[i][2]+'-'+selected_dates_arr[i][1]+'-'+selected_dates_arr[i][0];}}}
selected_dates_arr=selected_dates_arr.filter(function(n){return parseInt(n);});selected_dates_arr.sort();return selected_dates_arr;}function wpbc_get__selected_time_fields__in_booking_form__as_arr(resource_id,is_only_selected_time=true){var time_fields_arr=['select[name="rangetime'+resource_id+'"]','select[name="rangetime'+resource_id+'[]"]','select[name="starttime'+resource_id+'"]','select[name="starttime'+resource_id+'[]"]','select[name="endtime'+resource_id+'"]','select[name="endtime'+resource_id+'[]"]','select[name="durationtime'+resource_id+'"]','select[name="durationtime'+resource_id+'[]"]'];var time_fields_obj_arr=[];
for(var ctf=0;ctf<time_fields_arr.length;ctf++){var time_field=time_fields_arr[ctf];var time_option;if(is_only_selected_time){time_option=jQuery('#booking_form'+resource_id+' '+time_field+' option:selected');
}else{time_option=jQuery('#booking_form'+resource_id+' '+time_field+' option');
}
for(var j=0;j<time_option.length;j++){var jquery_option=jQuery(time_option[j]);// Get only  selected options 	//jQuery(time_field + ' option:eq(' + j + ')');
var value_option_seconds_arr=jquery_option.val().split('-');var times_as_seconds=[];
if(value_option_seconds_arr.length){
for(let i=0;i<value_option_seconds_arr.length;i++){
var start_end_times_arr=value_option_seconds_arr[i].trim().split(':');var time_in_seconds=parseInt(start_end_times_arr[0])*60*60+parseInt(start_end_times_arr[1])*60;times_as_seconds.push(time_in_seconds);}}time_fields_obj_arr.push({'name':jQuery('#booking_form'+resource_id+' '+time_field).attr('name'),'value_option_24h':jquery_option.val(),'jquery_option':jquery_option,'times_as_seconds':times_as_seconds});}}
var text_time_fields_arr=['input[name="starttime'+resource_id+'"]','input[name="endtime'+resource_id+'"]'];for(var tf=0;tf<text_time_fields_arr.length;tf++){var text_jquery=jQuery('#booking_form'+resource_id+' '+text_time_fields_arr[tf]);
if(text_jquery.length>0){var time__h_m__arr=text_jquery.val().trim().split(':');// '14:00'
if(0==time__h_m__arr.length){continue;
}if(1==time__h_m__arr.length){if(''===time__h_m__arr[0]){continue;
}time__h_m__arr[1]=0;}var text_time_in_seconds=parseInt(time__h_m__arr[0])*60*60+parseInt(time__h_m__arr[1])*60;var text_times_as_seconds=[];text_times_as_seconds.push(text_time_in_seconds);time_fields_obj_arr.push({'name':text_jquery.attr('name'),'value_option_24h':text_jquery.val(),'jquery_option':text_jquery,'times_as_seconds':text_times_as_seconds});}}return time_fields_obj_arr;}
function wpbc_calendar__get_inst(resource_id){if('undefined'===typeof resource_id){resource_id='1';}if(jQuery('#calendar_booking'+resource_id).length>0){try{var inst=jQuery.datepick._getInst(jQuery('#calendar_booking'+resource_id).get(0));return inst?inst:null;}catch(e){return null;}}return null;}function wpbc_calendar__unselect_all_dates(resource_id){if('undefined'===typeof resource_id){resource_id='1';}var inst=wpbc_calendar__get_inst(resource_id);if(null!==inst){
jQuery('#date_booking'+resource_id).val('');
inst.stayOpen=false;inst.dates=[];jQuery.datepick._updateDatepick(inst);return true;}return false;}function wpbc_calendars__clear_days_highlighting(resource_id){if('undefined'!==typeof resource_id){jQuery('#calendar_booking'+resource_id+' .datepick-days-cell-over').removeClass('datepick-days-cell-over');
}else{jQuery('.datepick-days-cell-over').removeClass('datepick-days-cell-over');
}}function wpbc_calendar__scroll_to(resource_id,year,month){if('undefined'===typeof resource_id){resource_id='1';}var inst=wpbc_calendar__get_inst(resource_id);if(null!==inst){year=parseInt(year);month=parseInt(month)-1;
inst.cursorDate=new Date();// In some cases,  the setFullYear can  set  only Year,  and not the Month and day      // FixIn: 6.2.3.5.
inst.cursorDate.setFullYear(year,month,1);inst.cursorDate.setMonth(month);inst.cursorDate.setDate(1);inst.drawMonth=inst.cursorDate.getMonth();inst.drawYear=inst.cursorDate.getFullYear();jQuery.datepick._notifyChange(inst);jQuery.datepick._adjustInstDate(inst);jQuery.datepick._showDate(inst);jQuery.datepick._updateDatepick(inst);return true;}return false;}function wpbc_is_this_day_selectable(resource_id,sql_class_day){
var date_bookings_obj=_wpbc.bookings_in_calendar__get_for_date(resource_id,sql_class_day);var is_day_selectable=parseInt(date_bookings_obj['day_availability'])>0;if(typeof date_bookings_obj['summary']==='undefined'){return is_day_selectable;}if('available'!=date_bookings_obj['summary']['status_for_day']){var is_set_pending_days_selectable=_wpbc.calendar__get_param_value(resource_id,'pending_days_selectable');// set pending days selectable          // FixIn: 8.6.1.18.
var booking_statuses_arr=wpbc_get_booking_statuses__as_arr(date_bookings_obj);if(wpbc_booking_statuses__has(booking_statuses_arr,'pending')||wpbc_booking_statuses__has(booking_statuses_arr,'pending_pending')||wpbc_booking_statuses__has(booking_statuses_arr,'pending_approved')||wpbc_booking_statuses__has(booking_statuses_arr,'approved_pending')){is_day_selectable=is_day_selectable?true:is_set_pending_days_selectable;}}return is_day_selectable;}function wpbc_is_this_day_among_selected_days(js_date_to_check,js_dates_arr){for(var date_index=0;date_index<js_dates_arr.length;date_index++){
if(js_dates_arr[date_index].getFullYear()===js_date_to_check.getFullYear()&&js_dates_arr[date_index].getMonth()===js_date_to_check.getMonth()&&js_dates_arr[date_index].getDate()===js_date_to_check.getDate()){return true;}}return false;}function wpbc__get__sql_class_date(date){var sql_class_day=date.getFullYear()+'-';sql_class_day+=date.getMonth()+1<10?'0':'';sql_class_day+=date.getMonth()+1+'-';sql_class_day+=date.getDate()<10?'0':'';sql_class_day+=date.getDate();return sql_class_day;}function wpbc__get__js_date(sql_class_date){var sql_class_date_arr=sql_class_date.split('-');var date_js=new Date();date_js.setFullYear(parseInt(sql_class_date_arr[0]),parseInt(sql_class_date_arr[1])-1,parseInt(sql_class_date_arr[2]));
date_js.setHours(0);date_js.setMinutes(0);date_js.setSeconds(0);date_js.setMilliseconds(0);return date_js;}function wpbc__get__td_class_date(date){var td_class_day=date.getMonth()+1+'-'+date.getDate()+'-'+date.getFullYear();// '1-9-2023'
return td_class_day;}function wpbc__get__date_params__from_string_date(date,separator){separator='undefined'!==typeof separator?separator:'.';var date_arr=date.split(separator);var date_obj={'year':parseInt(date_arr[2]),'month':parseInt(date_arr[1])-1,'date':parseInt(date_arr[0])};return date_obj;
}function wpbc_calendar__loading__start(resource_id){if(!jQuery('#calendar_booking'+resource_id).next().hasClass('wpbc_spins_loader_wrapper')){jQuery('#calendar_booking'+resource_id).after('<div class="wpbc_spins_loader_wrapper"><div class="wpbc_spin_loader_one_new"></div></div>');}if(!jQuery('#calendar_booking'+resource_id).hasClass('wpbc_calendar_blur_small')){jQuery('#calendar_booking'+resource_id).addClass('wpbc_calendar_blur_small');}wpbc_calendar__blur__start(resource_id);}function wpbc_calendar__loading__stop(resource_id){jQuery('#calendar_booking'+resource_id+' + .wpbc_spins_loader_wrapper').remove();jQuery('#calendar_booking'+resource_id).removeClass('wpbc_calendar_blur_small');wpbc_calendar__blur__stop(resource_id);}function wpbc_calendar__blur__start(resource_id){if(!jQuery('#calendar_booking'+resource_id).hasClass('wpbc_calendar_blur')){jQuery('#calendar_booking'+resource_id).addClass('wpbc_calendar_blur');}}function wpbc_calendar__blur__stop(resource_id){jQuery('#calendar_booking'+resource_id).removeClass('wpbc_calendar_blur');}
function wpbc_calendar__update_look(resource_id){var inst=wpbc_calendar__get_inst(resource_id);
if(null===inst){var jq_cal=jQuery('#calendar_booking'+resource_id);if(jq_cal.length&&'function'===typeof wpbc_calendar_show){
if(jq_cal.hasClass('hasDatepick')){jq_cal.removeClass('hasDatepick');}
wpbc_calendar_show(resource_id);
inst=wpbc_calendar__get_inst(resource_id);}}
if(null===inst){return false;}jQuery.datepick._updateDatepick(inst);return true;}function wpbc_calendar__update_months_number(resource_id,months_number){var inst=wpbc_calendar__get_inst(resource_id);if(null!==inst){inst.settings['numberOfMonths']=months_number;
wpbc_calendar__update_look(resource_id);}}function wpbc__calendar__change_skin(selected_skin_url){//console.log('SKIN SELECTION ::', selected_skin_url);
var stylesheet=document.getElementById('wpbc-calendar-skin-css');stylesheet.parentNode.removeChild(stylesheet);
var headID=document.getElementsByTagName("head")[0];var cssNode=document.createElement('link');cssNode.type='text/css';cssNode.setAttribute("id","wpbc-calendar-skin-css");cssNode.rel='stylesheet';cssNode.media='screen';cssNode.href=selected_skin_url;//"http://beta/wp-content/plugins/booking/css/skins/green-01.css";
headID.appendChild(cssNode);}function wpbc__css__change_skin(selected_skin_url,stylesheet_id='wpbc-time_picker-skin-css'){
var stylesheet=document.getElementById(stylesheet_id);stylesheet.parentNode.removeChild(stylesheet);
var headID=document.getElementsByTagName("head")[0];var cssNode=document.createElement('link');cssNode.type='text/css';cssNode.setAttribute("id",stylesheet_id);cssNode.rel='stylesheet';cssNode.media='screen';cssNode.href=selected_skin_url;//"http://beta/wp-content/plugins/booking/css/skins/green-01.css";
headID.appendChild(cssNode);}
function wpbc_intervals__merge_inersected(intervals){if(!intervals||intervals.length===0){return[];}var merged=[];intervals.sort(function(a,b){return a[0]-b[0];});var mergedInterval=intervals[0];for(var i=1;i<intervals.length;i++){var interval=intervals[i];if(interval[0]<=mergedInterval[1]){mergedInterval[1]=Math.max(mergedInterval[1],interval[1]);}else{merged.push(mergedInterval);mergedInterval=interval;}}merged.push(mergedInterval);return merged;}function wpbc_intervals__is_intersected(interval_A,interval_B){if(0==interval_A.length||0==interval_B.length){return false;}interval_A[0]=parseInt(interval_A[0]);interval_A[1]=parseInt(interval_A[1]);interval_B[0]=parseInt(interval_B[0]);interval_B[1]=parseInt(interval_B[1]);var is_intersected=Math.max(interval_A[0],interval_B[0])-Math.min(interval_A[1],interval_B[1]);
if(is_intersected<0){return true;
}return false;
}function wpbc_get_abs_closest_value_in_arr(myValue,myArray){if(myArray.length==0){
return myValue;}var obj=myArray[0];var diff=Math.abs(myValue-obj);
var closetValue=myArray[0];
for(var i=1;i<myArray.length;i++){obj=myArray[i];if(Math.abs(myValue-obj)<diff){
diff=Math.abs(myValue-obj);closetValue=obj;}}return closetValue;}
function wpbc_set_tooltip___for__calendar_date(tooltip_text,resource_id,td_class){
jQuery('#calendar_booking'+resource_id+' td.cal4date-'+td_class).attr('data-content',tooltip_text);var td_el=jQuery('#calendar_booking'+resource_id+' td.cal4date-'+td_class).get(0);
if('undefined'!==typeof td_el&&undefined==td_el._tippy&&''!==tooltip_text){wpbc_tippy(td_el,{content(reference){var popover_content=reference.getAttribute('data-content');return'<div class="popover popover_tippy">'+'<div class="popover-content">'+popover_content+'</div>'+'</div>';},allowHTML:true,trigger:'mouseenter focus',interactive:false,hideOnClick:true,interactiveBorder:10,maxWidth:550,theme:'wpbc-tippy-times',placement:'top',delay:[400,0],
ignoreAttributes:true,touch:true,//['hold', 500], // 500ms delay				// FixIn: 9.2.1.5.
appendTo:()=>document.body});return true;}return false;}
function wpbc_dates__days_between(date1,date2){
var ONE_DAY=1000*60*60*24;
var date1_ms=date1.getTime();var date2_ms=date2.getTime();
var difference_ms=date1_ms-date2_ms;
return Math.round(difference_ms/ONE_DAY);}function wpbc_dates__is_consecutive_dates_arr_range(sql_dates_arr){
if(sql_dates_arr.length>1){var previos_date=wpbc__get__js_date(sql_dates_arr[0]);var current_date;for(var i=1;i<sql_dates_arr.length;i++){current_date=wpbc__get__js_date(sql_dates_arr[i]);if(wpbc_dates__days_between(current_date,previos_date)!=1){return false;}previos_date=current_date;}}return true;}
/*==Auto Dates Selection==*==How to  use ?==*
*  For Dates selection, we need to use this logic!     We need select the dates only after booking data loaded!
*
*  Check example bellow.
*
*
*	jQuery('body').on('wpbc_calendar_ajx__loaded_data', function(event, loaded_resource_id){
*
*		if(loaded_resource_id==select_dates_in_calendar_id){
*			wpbc_auto_select_dates_in_calendar(select_dates_in_calendar_id, '2024-05-15', '2024-05-25');
*		}
*	});
*
*
* Try to Auto select dates in specific calendar by simulated clicks in datepicker
*
* @param resource_id		1
* @param check_in_ymd		'2024-05-09'		OR  	['2024-05-09','2024-05-19','2024-05-20']
* @param check_out_ymd		'2024-05-15'		Optional
*
* @returns {number}		number of selected dates
*
* 	Example 1:				var num_selected_days=wpbc_auto_select_dates_in_calendar(1, '2024-05-15',
*     '2024-05-25'); Example 2:				var num_selected_days=wpbc_auto_select_dates_in_calendar(1,
*     ['2024-05-09','2024-05-19','2024-05-20']);
*/function wpbc_auto_select_dates_in_calendar(resource_id,check_in_ymd,check_out_ymd=''){
console.log('WPBC_AUTO_SELECT_DATES_IN_CALENDAR(RESOURCE_ID, CHECK_IN_YMD, CHECK_OUT_YMD)',resource_id,check_in_ymd,check_out_ymd);if('2100-01-01'==check_in_ymd||'2100-01-01'==check_out_ymd||''==check_in_ymd&&''==check_out_ymd){return 0;}
var dates_to_select_arr=[];if(Array.isArray(check_in_ymd)){dates_to_select_arr=wpbc_clone_obj(check_in_ymd);
if(dates_to_select_arr.length>0&&''==check_out_ymd&&!wpbc_dates__is_consecutive_dates_arr_range(dates_to_select_arr)){wpbc_cal_days_select__multiple(resource_id);}
if(dates_to_select_arr.length>1&&''==check_out_ymd&&'single'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){wpbc_cal_days_select__multiple(resource_id);}
check_in_ymd=dates_to_select_arr[0];if(''==check_out_ymd){check_out_ymd=dates_to_select_arr[dates_to_select_arr.length-1];}}
if(''==check_in_ymd){check_in_ymd=check_out_ymd;}if(''==check_out_ymd){check_out_ymd=check_in_ymd;}if('undefined'===typeof resource_id){resource_id='1';}var inst=wpbc_calendar__get_inst(resource_id);if(null!==inst){
jQuery('#date_booking'+resource_id).val('');
inst.stayOpen=false;inst.dates=[];var check_in_js=wpbc__get__js_date(check_in_ymd);var td_cell=wpbc_get_clicked_td(inst.id,check_in_js);
if(''===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){_wpbc.calendar__set_param_value(resource_id,'days_select_mode','multiple');}
if('dynamic'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){
inst.stayOpen=false;jQuery.datepick._selectDay(td_cell,'#'+inst.id,check_in_js.getTime());if(0===inst.dates.length){return 0;
}
var check_out_js=wpbc__get__js_date(check_out_ymd);var td_cell_out=wpbc_get_clicked_td(inst.id,check_out_js);inst.stayOpen=true;jQuery.datepick._selectDay(td_cell_out,'#'+inst.id,check_out_js.getTime());}
if('fixed'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){jQuery.datepick._selectDay(td_cell,'#'+inst.id,check_in_js.getTime());}
if('single'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){//jQuery.datepick._restrictMinMax(inst, jQuery.datepick._determineDate(inst, check_in_js, null) );		// Do we need to run  this ? Please note, check_in_js must  have time,  min, sec defined to 0!
jQuery.datepick._selectDay(td_cell,'#'+inst.id,check_in_js.getTime());}
if('multiple'===_wpbc.calendar__get_param_value(resource_id,'days_select_mode')){var dates_arr;if(dates_to_select_arr.length>0){
dates_arr=wpbc_get_selection_dates_js_str_arr__from_arr(dates_to_select_arr);}else{dates_arr=wpbc_get_selection_dates_js_str_arr__from_check_in_out(check_in_ymd,check_out_ymd,inst);}if(0===dates_arr.dates_js.length){return 0;}
for(var j=0;j<dates_arr.dates_js.length;j++){
var str_date=wpbc__get__sql_class_date(dates_arr.dates_js[j]);
if(0==_wpbc.bookings_in_calendar__get_for_date(resource_id,str_date).day_availability){return 0;}if(dates_arr.dates_js[j]!=-1){inst.dates.push(dates_arr.dates_js[j]);}}var check_out_date=dates_arr.dates_js[dates_arr.dates_js.length-1];inst.dates.push(check_out_date);
var checkout_timestamp=check_out_date.getTime();var td_cell=wpbc_get_clicked_td(inst.id,check_out_date);jQuery.datepick._selectDay(td_cell,'#'+inst.id,checkout_timestamp);}if(0!==inst.dates.length){
wpbc_calendar__scroll_to(resource_id,inst.dates[0].getFullYear(),inst.dates[0].getMonth()+1);}return inst.dates.length;}return 0;}function wpbc_get_clicked_td(calendar_html_id,date_js){var td_cell=jQuery('#'+calendar_html_id+' .sql_date_'+wpbc__get__sql_class_date(date_js)).get(0);return td_cell;}function wpbc_get_selection_dates_js_str_arr__from_check_in_out(check_in_ymd,check_out_ymd,inst){var original_array=[];var date;var bk_distinct_dates=[];var check_in_date=check_in_ymd.split('-');var check_out_date=check_out_ymd.split('-');date=new Date();date.setFullYear(check_in_date[0],check_in_date[1]-1,check_in_date[2]);
var original_check_in_date=date;original_array.push(jQuery.datepick._restrictMinMax(inst,jQuery.datepick._determineDate(inst,date,null)));
if(!wpbc_in_array(bk_distinct_dates,check_in_date[2]+'.'+check_in_date[1]+'.'+check_in_date[0])){bk_distinct_dates.push(parseInt(check_in_date[2])+'.'+parseInt(check_in_date[1])+'.'+check_in_date[0]);}var date_out=new Date();date_out.setFullYear(check_out_date[0],check_out_date[1]-1,check_out_date[2]);
var original_check_out_date=date_out;var mewDate=new Date(original_check_in_date.getFullYear(),original_check_in_date.getMonth(),original_check_in_date.getDate());mewDate.setDate(original_check_in_date.getDate()+1);while(original_check_out_date>date&&original_check_in_date!=original_check_out_date){date=new Date(mewDate.getFullYear(),mewDate.getMonth(),mewDate.getDate());original_array.push(jQuery.datepick._restrictMinMax(inst,jQuery.datepick._determineDate(inst,date,null)));
if(!wpbc_in_array(bk_distinct_dates,date.getDate()+'.'+parseInt(date.getMonth()+1)+'.'+date.getFullYear())){bk_distinct_dates.push(parseInt(date.getDate())+'.'+parseInt(date.getMonth()+1)+'.'+date.getFullYear());}mewDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());mewDate.setDate(mewDate.getDate()+1);}original_array.pop();bk_distinct_dates.pop();return{'dates_js':original_array,'dates_str':bk_distinct_dates};}function wpbc_get_selection_dates_js_str_arr__from_arr(dates_to_select_arr){
var original_array=[];var bk_distinct_dates=[];var one_date_str;for(var d=0;d<dates_to_select_arr.length;d++){original_array.push(wpbc__get__js_date(dates_to_select_arr[d]));one_date_str=dates_to_select_arr[d].split('-');if(!wpbc_in_array(bk_distinct_dates,one_date_str[2]+'.'+one_date_str[1]+'.'+one_date_str[0])){bk_distinct_dates.push(parseInt(one_date_str[2])+'.'+parseInt(one_date_str[1])+'.'+one_date_str[0]);}}return{'dates_js':original_array,'dates_str':original_array};}
/*==Auto Fill Fields / Auto Select Dates==if('On'!=_wpbc.get_other_param('is_enabled_booking_search_results_days_select')){if(url_params.has('wpbc_select_check_in')&&url_params.has('wpbc_select_check_out')&&url_params.has('wpbc_select_calendar_id')){var select_dates_in_calendar_id=parseInt(url_params.get('wpbc_select_calendar_id'));
jQuery('body').on('wpbc_calendar_ajx__loaded_data',function(event,loaded_resource_id){if(loaded_resource_id==select_dates_in_calendar_id){wpbc_auto_select_dates_in_calendar(select_dates_in_calendar_id,url_params.get('wpbc_select_check_in'),url_params.get('wpbc_select_check_out'));}});}}if(url_params.has('wpbc_auto_fill')){var wpbc_auto_fill_value=url_params.get('wpbc_auto_fill');
wpbc_auto_fill_value=wpbc_auto_fill_value.replaceAll('_^_','~');wpbc_auto_fill_booking_fields(wpbc_auto_fill_value);}});/**
* Autofill / select booking form  fields by  values from  the GET request  parameter: ?wpbc_auto_fill=
*
* @param auto_fill_str
*/function wpbc_auto_fill_booking_fields(auto_fill_str){
if(''==auto_fill_str){return;}
var fields_arr=wpbc_auto_fill_booking_fields__parse(auto_fill_str);for(let i=0;i<fields_arr.length;i++){jQuery('[name="'+fields_arr[i]['name']+'"]').val(fields_arr[i]['value']);}}function wpbc_auto_fill_booking_fields__parse(data_str){var filter_options_arr=[];var data_arr=data_str.split('~');for(var j=0;j<data_arr.length;j++){var my_form_field=data_arr[j].split('^');var filter_name='undefined'!==typeof my_form_field[0]?my_form_field[0]:'';var filter_value='undefined'!==typeof my_form_field[1]?my_form_field[1]:'';filter_options_arr.push({'name':filter_name,'value':filter_value});}return filter_options_arr;}function wpbc_auto_fill_search_fields__parse(data_str){var filter_options_arr=[];var data_arr=data_str.split('~');for(var j=0;j<data_arr.length;j++){var my_form_field=data_arr[j].split('^');var filter_type='undefined'!==typeof my_form_field[0]?my_form_field[0]:'';var filter_name='undefined'!==typeof my_form_field[1]?my_form_field[1]:'';var filter_value='undefined'!==typeof my_form_field[2]?my_form_field[2]:'';filter_options_arr.push({'type':filter_type,'name':filter_name,'value':filter_value});}return filter_options_arr;}
function wpbc_calendar__auto_update_months_number__on_resize(resource_id){if(true===_wpbc.get_other_param('is_allow_several_months_on_mobile')){return false;}var local__number_of_months=parseInt(_wpbc.calendar__get_param_value(resource_id,'calendar_number_of_months'));if(local__number_of_months>1){if(jQuery(window).width()<=782){wpbc_calendar__update_months_number(resource_id,1);}else{wpbc_calendar__update_months_number(resource_id,local__number_of_months);}}}function wpbc_calendars__auto_update_months_number(){var all_calendars_arr=_wpbc.calendars_all__get();
for(var calendar_id in all_calendars_arr){if('calendar_'===calendar_id.slice(0,9)){var resource_id=parseInt(calendar_id.slice(9));//  'calendar_3' -> 3
if(resource_id>0){wpbc_calendar__auto_update_months_number__on_resize(resource_id);}}}}jQuery(window).on('resize',function(){wpbc_calendars__auto_update_months_number();});jQuery(document).ready(function(){var closed_timer=setTimeout(function(){wpbc_calendars__auto_update_months_number();},100);});
function wpbc_calendar__get_dates_start(resource_id){return wpbc_calendar__get_date_parameter(resource_id,'calendar_dates_start');}function wpbc_calendar__get_dates_end(resource_id){return wpbc_calendar__get_date_parameter(resource_id,'calendar_dates_end');}function wpbc_calendar__get_date_parameter(resource_id,parameter_str){var date_expected_ymd=_wpbc.calendar__get_param_value(resource_id,parameter_str);if(!date_expected_ymd){return false;// '' | 0 | null | undefined  -> false.
}if(-1!==date_expected_ymd.indexOf('-')){var date_expected_ymd_arr=date_expected_ymd.split('-');// '2025-07-26' -> ['2025', '07', '26']
if(date_expected_ymd_arr.length>0){var year=date_expected_ymd_arr.length>0?parseInt(date_expected_ymd_arr[0]):new Date().getFullYear();
var month=date_expected_ymd_arr.length>1?parseInt(date_expected_ymd_arr[1])-1:0;
var day=date_expected_ymd_arr.length>2?parseInt(date_expected_ymd_arr[2]):1;
var date_js=new Date(year,month,day,0,0,0,0);return date_js;}}return false;
}// FixIn: 9.8.9.2.
function wpbc_cal__re_init(resource_id){
jQuery('#calendar_booking'+resource_id).removeClass('hasDatepick');wpbc_calendar_show(resource_id);}function wpbc_cal_days_select__re_init(resource_id){_wpbc.calendar__set_param_value(resource_id,'saved_variable___days_select_initial',{'dynamic__days_min':_wpbc.calendar__get_param_value(resource_id,'dynamic__days_min'),'dynamic__days_max':_wpbc.calendar__get_param_value(resource_id,'dynamic__days_max'),'dynamic__days_specific':_wpbc.calendar__get_param_value(resource_id,'dynamic__days_specific'),'dynamic__week_days__start':_wpbc.calendar__get_param_value(resource_id,'dynamic__week_days__start'),'fixed__days_num':_wpbc.calendar__get_param_value(resource_id,'fixed__days_num'),'fixed__week_days__start':_wpbc.calendar__get_param_value(resource_id,'fixed__week_days__start')});}
function wpbc_cal_ready_days_select__single(resource_id){
jQuery(document).ready(function(){
setTimeout(function(){wpbc_cal_days_select__single(resource_id);},1000);});}function wpbc_cal_days_select__single(resource_id){_wpbc.calendar__set_parameters(resource_id,{'days_select_mode':'single'});wpbc_cal_days_select__re_init(resource_id);wpbc_cal__re_init(resource_id);}
function wpbc_cal_ready_days_select__multiple(resource_id){
jQuery(document).ready(function(){
setTimeout(function(){wpbc_cal_days_select__multiple(resource_id);},1000);});}function wpbc_cal_days_select__multiple(resource_id){_wpbc.calendar__set_parameters(resource_id,{'days_select_mode':'multiple'});wpbc_cal_days_select__re_init(resource_id);wpbc_cal__re_init(resource_id);}
function wpbc_cal_ready_days_select__fixed(resource_id,days_number,week_days__start=[-1]){
jQuery(document).ready(function(){
setTimeout(function(){wpbc_cal_days_select__fixed(resource_id,days_number,week_days__start);},1000);});}function wpbc_cal_days_select__fixed(resource_id,days_number,week_days__start=[-1]){_wpbc.calendar__set_parameters(resource_id,{'days_select_mode':'fixed'});_wpbc.calendar__set_parameters(resource_id,{'fixed__days_num':parseInt(days_number)});
_wpbc.calendar__set_parameters(resource_id,{'fixed__week_days__start':week_days__start});
wpbc_cal_days_select__re_init(resource_id);wpbc_cal__re_init(resource_id);}
function wpbc_cal_ready_days_select__range(resource_id,days_min,days_max,days_specific=[],week_days__start=[-1]){
jQuery(document).ready(function(){
setTimeout(function(){wpbc_cal_days_select__range(resource_id,days_min,days_max,days_specific,week_days__start);},1000);});}function wpbc_cal_days_select__range(resource_id,days_min,days_max,days_specific=[],week_days__start=[-1]){_wpbc.calendar__set_parameters(resource_id,{'days_select_mode':'dynamic'});_wpbc.calendar__set_param_value(resource_id,'dynamic__days_min',parseInt(days_min));
_wpbc.calendar__set_param_value(resource_id,'dynamic__days_max',parseInt(days_max));
_wpbc.calendar__set_param_value(resource_id,'dynamic__days_specific',days_specific);
_wpbc.calendar__set_param_value(resource_id,'dynamic__week_days__start',week_days__start);
wpbc_cal_days_select__re_init(resource_id);wpbc_cal__re_init(resource_id);}// ---------------------------------------------------------------------------------------------------------------------
function wpbc_calendar__load_data__ajx(params){
wpbc_calendar__loading__start(params['resource_id']);
if(jQuery('#calendar_booking'+params['resource_id']).length>0){var target_elm=jQuery('body').trigger("wpbc_calendar_ajx__before_loaded_data",[params['resource_id']]);
}if(wpbc_balancer__is_wait(params,'wpbc_calendar__load_data__ajx')){return false;}
wpbc_calendar__blur__stop(params['resource_id']);
if(false!==wpbc_calendar__get_dates_start(params['resource_id'])){if(!params['dates_to_check']){params['dates_to_check']=[];}var dates_start=wpbc_calendar__get_dates_start(params['resource_id']);
if(false!==dates_start){params['dates_to_check'][0]=wpbc__get__sql_class_date(dates_start);}}if(false!==wpbc_calendar__get_dates_end(params['resource_id'])){if(!params['dates_to_check']){params['dates_to_check']=[];}var dates_end=wpbc_calendar__get_dates_end(params['resource_id']);
if(false!==dates_end){params['dates_to_check'][1]=wpbc__get__sql_class_date(dates_end);if(!params['dates_to_check'][0]){params['dates_to_check'][0]=wpbc__get__sql_class_date(new Date());}}}
console.groupCollapsed('WPBC_AJX_CALENDAR_LOAD');console.log('==Before Ajax Send - calendars_all__get()==',_wpbc.calendars_all__get());if('function'===typeof wpbc_hook__init_timeselector){wpbc_hook__init_timeselector();}
jQuery.post(wpbc_url_ajax,{action:'WPBC_AJX_CALENDAR_LOAD',wpbc_ajx_user_id:_wpbc.get_secure_param('user_id'),nonce:_wpbc.get_secure_param('nonce'),wpbc_ajx_locale:_wpbc.get_secure_param('locale'),calendar_request_params:params
},function(response_data,textStatus,jqXHR){
console.log('==Response WPBC_AJX_CALENDAR_LOAD==',response_data);console.groupEnd();
var ajx_post_data__resource_id=wpbc_get_resource_id__from_ajx_post_data_url(this.data);wpbc_balancer__completed(ajx_post_data__resource_id,'wpbc_calendar__load_data__ajx');
if(typeof response_data!=='object'||response_data===null){var jq_node=wpbc_get_calendar__jq_node__for_messages(this.data);var message_type='info';if(''===response_data){response_data='The server responds with an empty string. The server probably stopped working unexpectedly. <br>Please check your <strong>error.log</strong> in your server configuration for relative errors.';message_type='warning';}
wpbc_front_end__show_message(response_data,{'type':message_type,'show_here':{'jq_node':jq_node,'where':'after'},'is_append':true,'style':'text-align:left;','delay':0});return;}
wpbc_calendar__loading__stop(response_data['resource_id']);
_wpbc.bookings_in_calendar__set_dates(response_data['resource_id'],response_data['ajx_data']['dates']);
_wpbc.booking__set_param_value(response_data['resource_id'],'resources_id_arr__in_dates',response_data['ajx_data']['resources_id_arr__in_dates']);
_wpbc.booking__set_param_value(response_data['resource_id'],'aggregate_resource_id_arr',response_data['ajx_data']['aggregate_resource_id_arr']);
wpbc_calendar__update_look(response_data['resource_id']);if('function'===typeof wpbc_hook__init_timeselector){wpbc_hook__init_timeselector();}if('undefined'!==typeof response_data['ajx_data']['ajx_after_action_message']&&''!=response_data['ajx_data']['ajx_after_action_message'].replace(/\n/g,"<br />")){var jq_node=wpbc_get_calendar__jq_node__for_messages(this.data);
wpbc_front_end__show_message(response_data['ajx_data']['ajx_after_action_message'].replace(/\n/g,"<br />"),{'type':'undefined'!==typeof response_data['ajx_data']['ajx_after_action_message_status']?response_data['ajx_data']['ajx_after_action_message_status']:'info','show_here':{'jq_node':jq_node,'where':'after'},'is_append':true,'style':'text-align:left;','delay':10000});}if('function'===typeof wpbc_update_capacity_hint){wpbc_update_capacity_hint(response_data['resource_id']);}// Trigger event that calendar has been		 // FixIn: 10.0.0.44.  // FixIn: 10.14.17.2.
if(jQuery('#calendar_booking'+response_data['resource_id']).length>0||jQuery('#date_booking'+response_data['resource_id']).length>0){var target_elm=jQuery('body').trigger("wpbc_calendar_ajx__loaded_data",[response_data['resource_id']]);
}//jQuery('#ajax_respond').html(response_data);		// For ability to show response, add such DIV element to page
}).fail(function(jqXHR,textStatus,errorThrown){if(window.console&&window.console.log){console.log('Ajax_Error',jqXHR,textStatus,errorThrown);}var ajx_post_data__resource_id=wpbc_get_resource_id__from_ajx_post_data_url(this.data);wpbc_balancer__completed(ajx_post_data__resource_id,'wpbc_calendar__load_data__ajx');
var error_message='<strong>'+'Error!'+'</strong> '+errorThrown;if(jqXHR.status){error_message+=' (<b>'+jqXHR.status+'</b>)';if(403==jqXHR.status){error_message+='<br> Probably nonce for this page has been expired. Please <a href="javascript:void(0)" onclick="javascript:location.reload();">reload the page</a>.';error_message+='<br> Otherwise, please check this <a style="font-weight: 600;" href="https://wpbookingcalendar.com/faq/request-do-not-pass-security-check/?after_update=10.1.1">troubleshooting instruction</a>.<br>';}}var message_show_delay=3000;if(jqXHR.responseText){error_message+=' '+jqXHR.responseText;message_show_delay=10;}error_message=error_message.replace(/\n/g,"<br />");var jq_node=wpbc_get_calendar__jq_node__for_messages(this.data);var closed_timer=setTimeout(function(){
wpbc_front_end__show_message(error_message,{'type':'error','show_here':{'jq_node':jq_node,'where':'after'},'is_append':true,'style':'text-align:left;','css_class':'wpbc_fe_message_alt','delay':0});},parseInt(message_show_delay));})
;
}
function wpbc_get_calendar__jq_node__for_messages(ajx_post_data_url_params){var jq_node='.booking_form_div';var calendar_resource_id=wpbc_get_resource_id__from_ajx_post_data_url(ajx_post_data_url_params);if(calendar_resource_id>0){jq_node='#calendar_booking'+calendar_resource_id;}return jq_node;}function wpbc_get_resource_id__from_ajx_post_data_url(ajx_post_data_url_params){
var calendar_resource_id=wpbc_get_uri_param_by_name('calendar_request_params[resource_id]',ajx_post_data_url_params);if(null!==calendar_resource_id&&''!==calendar_resource_id){calendar_resource_id=parseInt(calendar_resource_id);if(calendar_resource_id>0){return calendar_resource_id;}}return 0;}function wpbc_get_uri_param_by_name(name,url){url=decodeURIComponent(url);name=name.replace(/[\[\]]/g,'\\$&');var regex=new RegExp('[?&]'+name+'(=([^&#]*)|&|#|$)'),results=regex.exec(url);if(!results)return null;if(!results[2])return'';return decodeURIComponent(results[2].replace(/\+/g,' '));}// ---------------------------------------------------------------------------------------------------------------------
/**
* Show message in content
*
* @param message				Message HTML
* @param params={
*								'type':'warning',							// 'error' | 'warning' | 'info' | 'success'
*								'show_here':{
*													'jq_node':'',
*													'where':'inside'		// 'inside' | 'before' | 'after' | 'right' | 'left'
*											  },
*								'is_append': true,
*								'style':'text-align:left;',
*							    'css_class': '',
*								'delay':0,
*								'if_visible_not_show': false
*				};
* Examples:
* 			var html_id=wpbc_front_end__show_message('You can test days selection in calendar', {});
*
*			var notice_message_id=wpbc_front_end__show_message(_wpbc.get_message('message_check_required'), { 'type': 'warning', 'delay': 10000, 'if_visible_not_show': true,
*																  'show_here': {'where': 'right', 'jq_node': el,}});
*
*			wpbc_front_end__show_message(response_data[ 'ajx_data' ][ 'ajx_after_action_message' ].replace(/\n/g, "<br />"),
*											{   'type':('undefined'!==typeof(response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ]) )
*															  ? response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ]:'info',
*												'show_here': {'jq_node': jq_node, 'where': 'after'},
*												'css_class':'wpbc_fe_message_alt',
*												'delay':10000
*											});
*
*
* @returns string  - HTML ID		or 0 if not showing during this time.
*/function wpbc_front_end__show_message(message,params={}){var params_default={'type':'warning',// 'error' | 'warning' | 'info' | 'success'
'show_here':{'jq_node':'',
'where':'inside'// 'inside' | 'before' | 'after' | 'right' | 'left'
},'is_append':true,
'style':'text-align:left;',
'css_class':'',
'delay':0,
'if_visible_not_show':false,
'is_scroll':true
};for(var p_key in params){params_default[p_key]=params[p_key];}params=params_default;var unique_div_id=new Date();unique_div_id='wpbc_notice_'+unique_div_id.getTime();params['css_class']+=' wpbc_fe_message';if(params['type']=='error'){params['css_class']+=' wpbc_fe_message_error';message='<i class="menu_icon icon-1x wpbc_icn_report_gmailerrorred"></i>'+message;}if(params['type']=='warning'){params['css_class']+=' wpbc_fe_message_warning';message='<i class="menu_icon icon-1x wpbc_icn_warning"></i>'+message;}if(params['type']=='info'){params['css_class']+=' wpbc_fe_message_info';}if(params['type']=='success'){params['css_class']+=' wpbc_fe_message_success';message='<i class="menu_icon icon-1x wpbc_icn_done_outline"></i>'+message;}var scroll_to_element='<div id="'+unique_div_id+'_scroll" style="display:none;"></div>';message='<div id="'+unique_div_id+'" class="wpbc_front_end__message '+params['css_class']+'" style="'+params['style']+'">'+message+'</div>';var jq_el_message=false;var is_show_message=true;if('inside'===params['show_here']['where']){if(params['is_append']){jQuery(params['show_here']['jq_node']).append(scroll_to_element);jQuery(params['show_here']['jq_node']).append(message);}else{jQuery(params['show_here']['jq_node']).html(scroll_to_element+message);}}else if('before'===params['show_here']['where']){jq_el_message=jQuery(params['show_here']['jq_node']).siblings('[id^="wpbc_notice_"]');if(params['if_visible_not_show']&&jq_el_message.is(':visible')){is_show_message=false;unique_div_id=jQuery(jq_el_message.get(0)).attr('id');}if(is_show_message){jQuery(params['show_here']['jq_node']).before(scroll_to_element);jQuery(params['show_here']['jq_node']).before(message);}}else if('after'===params['show_here']['where']){jq_el_message=jQuery(params['show_here']['jq_node']).nextAll('[id^="wpbc_notice_"]');if(params['if_visible_not_show']&&jq_el_message.is(':visible')){is_show_message=false;unique_div_id=jQuery(jq_el_message.get(0)).attr('id');}if(is_show_message){jQuery(params['show_here']['jq_node']).before(scroll_to_element);
jQuery(params['show_here']['jq_node']).after(message);}}else if('right'===params['show_here']['where']){jq_el_message=jQuery(params['show_here']['jq_node']).nextAll('.wpbc_front_end__message_container_right').find('[id^="wpbc_notice_"]');if(params['if_visible_not_show']&&jq_el_message.is(':visible')){is_show_message=false;unique_div_id=jQuery(jq_el_message.get(0)).attr('id');}if(is_show_message){jQuery(params['show_here']['jq_node']).before(scroll_to_element);
jQuery(params['show_here']['jq_node']).after('<div class="wpbc_front_end__message_container_right">'+message+'</div>');}}else if('left'===params['show_here']['where']){jq_el_message=jQuery(params['show_here']['jq_node']).siblings('.wpbc_front_end__message_container_left').find('[id^="wpbc_notice_"]');if(params['if_visible_not_show']&&jq_el_message.is(':visible')){is_show_message=false;unique_div_id=jQuery(jq_el_message.get(0)).attr('id');}if(is_show_message){jQuery(params['show_here']['jq_node']).before(scroll_to_element);
jQuery(params['show_here']['jq_node']).before('<div class="wpbc_front_end__message_container_left">'+message+'</div>');}}if(is_show_message&&parseInt(params['delay'])>0){var closed_timer=setTimeout(function(){jQuery('#'+unique_div_id).fadeOut(1500);},parseInt(params['delay']));var closed_timer2=setTimeout(function(){jQuery('#'+unique_div_id).trigger('hide');},parseInt(params['delay'])+1501);}
var parent_els=jQuery('#'+unique_div_id).parents().map(function(){if(!jQuery(this).is('visible')&&jQuery('.wpbc_container').has(this)){jQuery(this).show();}});if(params['is_scroll']){wpbc_do_scroll('#'+unique_div_id+'_scroll');}return unique_div_id;}function wpbc_front_end__show_message__error(jq_node,message){var notice_message_id=wpbc_front_end__show_message(message,{'type':'error','delay':10000,'if_visible_not_show':true,'show_here':{'where':'right','jq_node':jq_node}});return notice_message_id;}function wpbc_front_end__show_message__error_under_element(jq_node,message,message_delay){if('undefined'===typeof message_delay){message_delay=0;}var notice_message_id=wpbc_front_end__show_message(message,{'type':'error','delay':message_delay,'if_visible_not_show':true,'show_here':{'where':'after','jq_node':jq_node}});return notice_message_id;}function wpbc_front_end__show_message__error_above_element(jq_node,message,message_delay){if('undefined'===typeof message_delay){message_delay=10000;}var notice_message_id=wpbc_front_end__show_message(message,{'type':'error','delay':message_delay,'if_visible_not_show':true,'show_here':{'where':'before','jq_node':jq_node}});return notice_message_id;}function wpbc_front_end__show_message__warning(jq_node,message){var notice_message_id=wpbc_front_end__show_message(message,{'type':'warning','delay':10000,'if_visible_not_show':true,'show_here':{'where':'right','jq_node':jq_node}});wpbc_highlight_error_on_form_field(jq_node);return notice_message_id;}function wpbc_front_end__show_message__warning_under_element(jq_node,message){var notice_message_id=wpbc_front_end__show_message(message,{'type':'warning','delay':10000,'if_visible_not_show':true,'show_here':{'where':'after','jq_node':jq_node}});return notice_message_id;}function wpbc_front_end__show_message__warning_above_element(jq_node,message){var notice_message_id=wpbc_front_end__show_message(message,{'type':'warning','delay':10000,'if_visible_not_show':true,'show_here':{'where':'before','jq_node':jq_node}});return notice_message_id;}function wpbc_highlight_error_on_form_field(jq_node){if(!jQuery(jq_node).length){return;}if(!jQuery(jq_node).is(':input')){
var jq_node_arr=jQuery(jq_node).find(':input');if(!jq_node_arr.length){return;}jq_node=jq_node_arr.get(0);}var params={};params['delay']=10000;if(!jQuery(jq_node).hasClass('wpbc_form_field_error')){jQuery(jq_node).addClass('wpbc_form_field_error');if(parseInt(params['delay'])>0){var closed_timer=setTimeout(function(){jQuery(jq_node).removeClass('wpbc_form_field_error');},parseInt(params['delay']));}}}function wpbc_do_scroll(jq_node,extra_shift_offset=0){if(!jQuery(jq_node).length){return;}var targetOffset=jQuery(jq_node).offset().top;if(targetOffset<=0){if(0!=jQuery(jq_node).nextAll(':visible').length){targetOffset=jQuery(jq_node).nextAll(':visible').first().offset().top;}else if(0!=jQuery(jq_node).parent().nextAll(':visible').length){targetOffset=jQuery(jq_node).parent().nextAll(':visible').first().offset().top;}}if(jQuery('#wpadminbar').length>0){targetOffset=targetOffset-50-50;}else{targetOffset=targetOffset-20-50;}targetOffset+=extra_shift_offset;
if(!jQuery('html,body').is(':animated')){jQuery('html,body').animate({scrollTop:targetOffset},500);}}
function wpbc_define_tippy_popover(){if('function'!==typeof wpbc_tippy){console.log('WPBC Error. wpbc_tippy was not defined.');return false;}wpbc_tippy('.popover_bottom.popover_click',{content(reference){var popover_title=reference.getAttribute('data-original-title');var popover_content=reference.getAttribute('data-content');return'<div class="popover popover_tippy">'+'<div class="popover-close"><a href="javascript:void(0)" onclick="javascript:this.parentElement.parentElement.parentElement.parentElement.parentElement._tippy.hide();" >&times;</a></div>'+popover_content+'</div>';},allowHTML:true,trigger:'manual',interactive:true,hideOnClick:false,interactiveBorder:10,maxWidth:550,theme:'wpbc-tippy-popover',placement:'bottom-start',touch:['hold',500]});jQuery('.popover_bottom.popover_click').on('click',function(){if(this._tippy.state.isVisible){this._tippy.hide();}else{this._tippy.show();}});wpbc_define_hide_tippy_on_scroll();}function wpbc_define_hide_tippy_on_scroll(){jQuery('.flex_tl__scrolling_section2,.flex_tl__scrolling_sections').on('scroll',function(event){if('function'===typeof wpbc_tippy){wpbc_tippy.hideAll();}});}(function(w,d){'use strict';var processed_set=typeof WeakSet==='function'?new WeakSet():null;function query_one(selector,root){return(root||d).querySelector(selector);}function query_all(selector,root){return(root||d).querySelectorAll(selector);}function on_ready(fn){if(d.readyState==='loading'){d.addEventListener('DOMContentLoaded',fn);}else{fn();}}function safe_clear(interval_id){try{w.clearInterval(interval_id);}catch(e){}}function mark_processed(el){if(processed_set){processed_set.add(el);}else{try{el.dataset.wpbcProcessed='1';}catch(e){}}}function is_processed(el){return processed_set?processed_set.has(el):el&&el.dataset&&el.dataset.wpbcProcessed==='1';}function get_messages(rid){var rid_int=parseInt(rid,10);return{duplicate:'You have added the same calendar (ID='+rid_int+') more than once on this page. '+'Please keep only one calendar with the same ID on a page to avoid conflicts.',init_failed:'The calendar could not be initialized on this page.'+'\n'+'Please check your browser console for JavaScript errors and conflicts with other scripts/plugins.',support:'',lib_jq:'It appears that the "jQuery" library is not loading correctly.'+'\n'+'For more information, please refer to this page: https://wpbookingcalendar.com/faq/',lib_dp:'It appears that the "jQuery.datepick" library is not loading correctly.'+'\n'+'For more information, please refer to this page: https://wpbookingcalendar.com/faq/',lib_wpbc:'It appears that the "_wpbc" library is not loading correctly.'+'\n'+'Please enable the loading of JS/CSS files for this page on the "WP Booking Calendar" - "Settings General" - "Advanced" page'+'\n'+'For more information, please refer to this page: https://wpbookingcalendar.com/faq/'};}function wrap_html(msg){return'<div style="font-size:13px;margin:10px;">'+String(msg||'').replace(/\n/g,'<br>')+'</div>';}function has_jq(){return!!(w.jQuery&&jQuery.fn&&typeof jQuery.fn.on==='function');}function has_dp(){return!!(w.jQuery&&jQuery.datepick);}function has_wpbc(){return!!(w._wpbc&&typeof w._wpbc.set_other_param==='function');}function normalize_rid(rid){var n=parseInt(rid,10);return n>0?String(n):'';}function get_rid_counts(rid){var r=normalize_rid(rid);return{rid:r,loaders:r?query_all('.calendar_loader_frame[data-wpbc-rid="'+r+'"]').length:0,containers:r?query_all('#calendar_booking'+r).length:0};}function is_duplicate_rid(rid){var c=get_rid_counts(rid);return c.loaders>1||c.containers>1;}function is_replaced(el,rid,container){var loader_still_in_dom=d.body.contains(el);var calendar_exists=!!query_one('.wpbc_calendar_id_'+rid,container||d);return!loader_still_in_dom||calendar_exists;}function start_for(el){if(!el||is_processed(el)){return;}mark_processed(el);var rid=el.dataset.wpbcRid;if(!rid){return;}var grace_ms=parseInt(el.dataset.wpbcGrace||'8000',10);if(!(grace_ms>0)){grace_ms=8000;}var container_id='calendar_booking'+rid;var container=d.getElementById(container_id);var text_el=query_one('.calendar_loader_text',el);function replaced_now(){return is_replaced(el,rid,container);}
if(replaced_now()){return;}
var poll_id=w.setInterval(function(){if(replaced_now()){safe_clear(poll_id);if(observer){try{observer.disconnect();}catch(e){}}}},250);
var observer=null;if(container&&'MutationObserver'in w){try{observer=new MutationObserver(function(){if(replaced_now()){safe_clear(poll_id);try{observer.disconnect();}catch(e){}}});observer.observe(container,{childList:true,subtree:true});}catch(e){}}
w.setTimeout(function finalize_after_grace(){if(replaced_now()){safe_clear(poll_id);if(observer){try{observer.disconnect();}catch(e){}}return;}var M=get_messages(rid);var msg;if(!has_jq()){msg=M.lib_jq;}else if(!has_wpbc()){msg=M.lib_wpbc;}else if(!has_dp()){msg=M.lib_dp;}else{
if(is_duplicate_rid(rid)){msg=M.duplicate+'\n\n'+M.support;}else{msg=M.init_failed+'\n\n'+M.support;}}try{if(text_el){text_el.innerHTML=wrap_html(msg);}}catch(e){}safe_clear(poll_id);if(observer){try{observer.disconnect();}catch(e){}}},grace_ms);}function bootstrap_existing(){query_all('.calendar_loader_frame[data-wpbc-rid]').forEach(start_for);}function observe_new_loaders(){if(!('MutationObserver'in w)){return;}try{var doc_observer=new MutationObserver(function(mutations){for(var i=0;i<mutations.length;i++){var nodes=mutations[i].addedNodes||[];for(var j=0;j<nodes.length;j++){var node=nodes[j];if(!node||node.nodeType!==1){continue;}if(node.matches&&node.matches('.calendar_loader_frame[data-wpbc-rid]')){start_for(node);}if(node.querySelectorAll){var inner=node.querySelectorAll('.calendar_loader_frame[data-wpbc-rid]');if(inner&&inner.length){inner.forEach(start_for);}}}}});doc_observer.observe(d.documentElement,{childList:true,subtree:true});}catch(e){}}on_ready(function(){bootstrap_existing();observe_new_loaders();});})(window,document);(function(w){'use strict';if(!w.WPBC_FE){w.WPBC_FE={};}w.WPBC_FE.autofill_booking_form_fields=function(resource_id,fill_values){resource_id=parseInt(resource_id,10)||0;fill_values=fill_values||{};var form_id='booking_form'+resource_id;var date_name='date_booking'+resource_id;var submit_form=document.getElementById(form_id);if(!submit_form){console.error('WPBC: No booking form: '+form_id);return false;}
var rules=array_rules(fill_values);var elements=submit_form.elements||[];var count=elements.length;var el;var i;var j;for(i=0;i<count;i++){el=elements[i];if(!el||!el.name){continue;}
if(el.type!=='text'&&el.type!=='email'){continue;}
if(el.name===date_name){continue;}
if(el.value!==''){continue;}for(j=0;j<rules.length;j++){if(rules[j].re.test(el.name)){if(rules[j].val!==''){el.value=rules[j].val;}break;
}}}return true;};function array_rules(fill_values){
var nickname=fill_values.nickname!=null?String(fill_values.nickname):'';var last_name=fill_values.last_name!=null?String(fill_values.last_name):'';var first_name=fill_values.first_name!=null?String(fill_values.first_name):'';var email=fill_values.email!=null?String(fill_values.email):'';var phone=fill_values.phone!=null?String(fill_values.phone):'';var nb_enfant=fill_values.nb_enfant!=null?String(fill_values.nb_enfant):'';var url=fill_values.url!=null?String(fill_values.url):'';return[{re:/^([A-Za-z0-9_\-\.])*(nickname){1}([A-Za-z0-9_\-\.])*$/,val:nickname},{re:/^([A-Za-z0-9_\-\.])*(last|second){1}([_\-\.])?name([A-Za-z0-9_\-\.])*$/,val:last_name},{re:/^name([0-9_\-\.])*$/,val:first_name},{re:/^([A-Za-z0-9_\-\.])*(first|my){1}([_\-\.])?name([A-Za-z0-9_\-\.])*$/,val:first_name},{re:/^(e)?([_\-\.])?mail([0-9_\-\.]*)$/,val:email},{re:/^([A-Za-z0-9_\-\.])*(phone|fone){1}([A-Za-z0-9_\-\.])*$/,val:phone},{re:/^(e)?([_\-\.])?nb_enfant([0-9_\-\.]*)$/,val:nb_enfant},{re:/^([A-Za-z0-9_\-\.])*(URL|site|web|WEB){1}([A-Za-z0-9_\-\.])*$/,val:url}];}})(window);
function wpbc_booking_form_submit(submit_form,resource_id,wpdev_active_locale){resource_id=parseInt(resource_id,10);
if(!submit_form||!submit_form.elements){console.error('WPBC: Invalid submit form in wpbc_booking_form_submit().');return false;}
var target_elm=jQuery('.booking_form_div').trigger('booking_form_submit_click',[resource_id,submit_form,wpdev_active_locale]);
if(jQuery(target_elm).find('input[name="booking_form_show_summary"]').length>0&&'pause_submit'===jQuery(target_elm).find('input[name="booking_form_show_summary"]').val()){return false;}
var is_error=wpbc_check_errors_in_booking_form(resource_id);if(is_error){return false;}
var date_input=document.getElementById('date_booking'+resource_id);var date_value=date_input?date_input.value:'';if(''===date_value){var arr_of_selected_additional_calendars=wpbc_get_arr_of_selected_additional_calendars(resource_id);
if(!arr_of_selected_additional_calendars||arr_of_selected_additional_calendars.length===0){wpbc_front_end__show_message__error_under_element('#booking_form_div'+resource_id+' .bk_calendar_frame',_wpbc.get_message('message_check_no_selected_dates'),3000);return;}}
if(typeof wpbc_is_this_time_selection_not_available==='function'){if(''===date_value){
var additional_calendars_el=document.getElementById('additional_calendars'+resource_id);if(additional_calendars_el!==null){
var id_additional_str=additional_calendars_el.value;var id_additional_arr=id_additional_str.split(',');var is_times_dates_ok=false;for(var ia=0;ia<id_additional_arr.length;ia++){var add_id=id_additional_arr[ia];var add_date_el=document.getElementById('date_booking'+add_id);var add_date_val=add_date_el?add_date_el.value:'';if(''!==add_date_val&&!wpbc_is_this_time_selection_not_available(add_id,submit_form.elements)){is_times_dates_ok=true;}}if(!is_times_dates_ok){return;}}}else{
if(wpbc_is_this_time_selection_not_available(resource_id,submit_form.elements)){return;}}}
var count=submit_form.elements.length;var formdata='';var inp_value;var inp_title_value;var element;var el_type;
function wpbc_escape_serialized_value(val){val=val==null?'':String(val);
val=val.replace(new RegExp('\\^','g'),'&#94;');val=val.replace(new RegExp('~','g'),'&#126;');
val=val.replace(/"/g,'&#34;');val=val.replace(/'/g,'&#39;');return val;}
function wpbc_get_input_element_type(el){if(!el||!el.tagName){return'';}var tag=String(el.tagName).toLowerCase();if('input'===tag){return el.type?String(el.type).toLowerCase():'text';}
if('select'===tag){return'select';}return tag;}for(var i=0;i<count;i++){
element=submit_form.elements[i];if(!element){continue;}if(jQuery(element).closest('.booking_form_garbage').length){continue;
}if('1'===String(jQuery(element).attr('data-wpbc-booking-submit-ignore')||'')){continue;}if(element.type!=='button'&&element.type!=='hidden'&&element.name!=='date_booking'+resource_id//&&(jQuery(element).is(':visible') ) //FixIn: 7.2.1.12.2
){
if(element.type==='checkbox'){if(element.value===''){inp_value=element.checked;}else{inp_value=element.checked?element.value:'';}}else if(element.type==='radio'){if(element.checked){inp_value=element.value;}else{
if(element.className.indexOf('wpdev-validates-as-required')!==-1&&jQuery(element).is(':visible')&&
!jQuery(':radio[name="'+element.name+'"]',submit_form).is(':checked')){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_required_for_radio_box'));
return;}
continue;}}else{inp_value=element.value;}inp_title_value='';
var input_element_type=wpbc_get_input_element_type(element);switch(input_element_type){case'text':case'email':inp_title_value=inp_value;break;case'select':inp_title_value=jQuery(element).find('option:selected').text();break;case'radio':case'checkbox':if(jQuery(element).is(':checked')){var label_element=jQuery(element).parents('.wpdev-list-item').find('.wpdev-list-item-label');if(label_element.length){inp_title_value=label_element.html();}}break;default:inp_title_value=inp_value;}
if(element.type==='selectbox-multiple'||element.type==='select-multiple'){inp_value=jQuery('[name="'+element.name+'"]').val();if(inp_value===null||String(inp_value)===''){inp_value='';}}
if(jQuery(element).is(':visible')){
if(typeof wpbc__is_less_than_required__of_max_available_slots__bl==='function'){if(wpbc__is_less_than_required__of_max_available_slots__bl(resource_id,element)){return;}}
if(element.className.indexOf('wpdev-validates-as-required')!==-1){if(element.type==='checkbox'&&element.checked===false){if(!jQuery(':checkbox[name="'+element.name+'"]',submit_form).is(':checked')){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_required_for_check_box'));
return;}}if(element.type==='radio'){if(!jQuery(':radio[name="'+element.name+'"]',submit_form).is(':checked')){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_required_for_radio_box'));
return;}}if(element.type!=='checkbox'&&element.type!=='radio'&&''===wpbc_trim(inp_value)){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_required'));
return;}}
if(element.className.indexOf('wpdev-validates-as-email')!==-1){inp_value=String(inp_value).replace(/^\s+|\s+$/gm,'');
var reg_email=/^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,})$/;if(inp_value!==''){if(reg_email.test(inp_value)===false){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_email'));
return;}}}
if(element.className.indexOf('wpdev-validates-as-email')!==-1&&element.className.indexOf('same_as_')!==-1){var primary_email_name=element.className.match(/same_as_([^\s])+/gi);if(primary_email_name!==null){primary_email_name=primary_email_name[0].substr(8);if(jQuery('[name="'+primary_email_name+resource_id+'"]').length>0){if(jQuery('[name="'+primary_email_name+resource_id+'"]').val()!==inp_value){wpbc_front_end__show_message__warning(element,_wpbc.get_message('message_check_same_email'));
return;}}}
continue;
}}
if(element.name!=='captcha_input'+resource_id){if(formdata!==''){formdata+='~';}el_type=element.type;if(element.className.indexOf('wpdev-validates-as-email')!==-1){el_type='email';}if(element.className.indexOf('wpdev-validates-as-coupon')!==-1){el_type='coupon';}inp_value=wpbc_escape_serialized_value(inp_value);if(el_type==='select-one'){el_type='selectbox-one';}if(el_type==='select-multiple'){el_type='selectbox-multiple';}formdata+=el_type+'^'+element.name+'^'+inp_value;
var clean_field_name=String(element.name);
clean_field_name=clean_field_name.replace(/\[\]/gi,'');var resource_id_str=String(resource_id);
if(clean_field_name.length>=resource_id_str.length&&clean_field_name.substr(clean_field_name.length-resource_id_str.length)===resource_id_str){clean_field_name=clean_field_name.substr(0,clean_field_name.length-resource_id_str.length);}formdata+='~'+el_type+'^'+clean_field_name+'_val'+resource_id+'^'+inp_title_value;}}}
var captcha=document.getElementById('wpdev_captcha_challenge_'+resource_id);if(captcha!==null){wpbc_form_submit_send(resource_id,formdata,captcha.value,document.getElementById('captcha_input'+resource_id).value,wpdev_active_locale);}else{wpbc_form_submit_send(resource_id,formdata,'','',wpdev_active_locale);}return;}function wpbc_form_submit_send(resource_id,formdata,captcha_chalange,user_captcha,wpdev_active_locale){resource_id=parseInt(resource_id,10);var my_booking_form='';var booking_form_type_el=document.getElementById('booking_form_type'+resource_id);if(booking_form_type_el!==null){my_booking_form=booking_form_type_el.value;}var my_booking_hash='';if(_wpbc.get_other_param('this_page_booking_hash')!==''){my_booking_hash=_wpbc.get_other_param('this_page_booking_hash');}var is_send_emeils=1;var $is_send_email_toggle=jQuery('#is_send_email_for_pending');var $modal_send_email_toggle=jQuery('#booking_form'+resource_id).closest('.wpbc_modal__add_booking__section').find('[data-wpbc-add-booking-send-emails]').first();if($modal_send_email_toggle.length){$is_send_email_toggle=$modal_send_email_toggle;}if($is_send_email_toggle.length){
is_send_emeils=$is_send_email_toggle.is(':checked');if(false===is_send_emeils){is_send_emeils=0;}else{is_send_emeils=1;}}var date_el=document.getElementById('date_booking'+resource_id);var date_value=date_el?date_el.value:'';if(''!==date_value){
wpbc_send_ajax_submit(resource_id,formdata,captcha_chalange,user_captcha,is_send_emeils,my_booking_hash,my_booking_form,wpdev_active_locale);}else{jQuery('#booking_form_div'+resource_id).hide();jQuery('#submiting'+resource_id).hide();}
var additional_calendars_el=document.getElementById('additional_calendars'+resource_id);if(additional_calendars_el===null){return;}var id_additional_str=additional_calendars_el.value;var id_additional_arr=id_additional_str.split(',');
for(var ia=0;ia<id_additional_arr.length;ia++){id_additional_arr[ia]=parseInt(id_additional_arr[ia],10);}if(!jQuery('#booking_form_div'+resource_id).is(':visible')){wpbc_booking_form__spin_loader__show(resource_id);
}
function wpbc_rewrite_field_name_suffix(field_name,old_id,new_id){field_name=String(field_name);var old_id_str=String(old_id);var new_id_str=String(new_id);
if(field_name.length>=old_id_str.length+2&&field_name.substr(field_name.length-(old_id_str.length+2))===old_id_str+'[]'){return field_name.substr(0,field_name.length-(old_id_str.length+2))+new_id_str+'[]';}
if(field_name.length>=old_id_str.length&&field_name.substr(field_name.length-old_id_str.length)===old_id_str){return field_name.substr(0,field_name.length-old_id_str.length)+new_id_str;}
return field_name;}for(ia=0;ia<id_additional_arr.length;ia++){var id_additional=id_additional_arr[ia];
if(id_additional<=0){continue;}
var formdata_additional_arr=String(formdata).split('~');var formdata_additional='';for(var j=0;j<formdata_additional_arr.length;j++){var my_form_field=formdata_additional_arr[j].split('^');if(formdata_additional!==''){formdata_additional+='~';}
if(my_form_field.length<3){formdata_additional+=formdata_additional_arr[j];continue;}my_form_field[1]=wpbc_rewrite_field_name_suffix(my_form_field[1],resource_id,id_additional);formdata_additional+=my_form_field[0]+'^'+my_form_field[1]+'^'+my_form_field[2];}
if(jQuery('#gateway_payment_forms'+resource_id).length>0){jQuery('#gateway_payment_forms'+resource_id).after('<div id="gateway_payment_forms'+id_additional+'"></div>');jQuery('#gateway_payment_forms'+resource_id).after('<div id="ajax_respond_insert'+id_additional+'" style="display:none;"></div>');}
wpbc_send_ajax_submit(id_additional,formdata_additional,captcha_chalange,user_captcha,is_send_emeils,my_booking_hash,my_booking_form,wpdev_active_locale);}}function wpbc_send_ajax_submit(resource_id,formdata,captcha_chalange,user_captcha,is_send_emeils,my_booking_hash,my_booking_form,wpdev_active_locale){resource_id=parseInt(resource_id,10);
wpbc_booking_form__on_submit__ui_elements_disable(resource_id);
var form_status=wpbc__get_form_status_for_submit(resource_id);var preview_args=form_status==='preview'?wpbc__get_bfb_preview_args_from_location():null;var $add_booking_modal=jQuery('#booking_form'+resource_id).closest('#wpbc_modal__add_booking__section');var is_allow_past=0;var has_add_booking_modal_context=$add_booking_modal.length&&$add_booking_modal.is(':visible');if(has_add_booking_modal_context){is_allow_past=$add_booking_modal.find('[data-wpbc-add-booking-allow-past]').first().is(':checked')?1:0;if(!is_allow_past){is_allow_past='1'===String($add_booking_modal.attr('data-wpbc-add-booking-allow-past')||'0')?1:0;}}if(!has_add_booking_modal_context&&'undefined'!==typeof _wpbc){is_allow_past='1'===String(_wpbc.get_other_param('this_page_allow_past')||'0')?1:0;}var request_params={'resource_id':resource_id,'dates_ddmmyy_csv':document.getElementById('date_booking'+resource_id).value,'formdata':formdata,'booking_hash':my_booking_hash,'custom_form':my_booking_form,'aggregate_resource_id_arr':null!==_wpbc.booking__get_param_value(resource_id,'aggregate_resource_id_arr')?_wpbc.booking__get_param_value(resource_id,'aggregate_resource_id_arr').join(','):'','captcha_chalange':captcha_chalange,'captcha_user_input':user_captcha,'is_emails_send':is_send_emeils,'active_locale':wpdev_active_locale,'form_status':form_status,'allow_past':is_allow_past};var $time_override_panel=jQuery('#booking_form'+resource_id).find('[data-wpbc-add-booking-time-override-panel]').first();if(!$time_override_panel.length){$time_override_panel=jQuery('#wpbc_modal__add_booking__section:visible').find('[data-wpbc-add-booking-time-override-panel]').first();}if($time_override_panel.length&&$time_override_panel.find('[data-wpbc-add-booking-time-override-enabled]').first().is(':checked')){request_params['wpbc_time_override_enabled']=1;request_params['wpbc_time_override_source']=$time_override_panel.attr('data-wpbc-add-booking-time-override-source')||'';request_params['wpbc_time_override_start']=$time_override_panel.find('[data-wpbc-add-booking-time-override-field="start"]').first().val()||'';request_params['wpbc_time_override_end']=$time_override_panel.find('[data-wpbc-add-booking-time-override-field="end"]').first().val()||'';}
if(preview_args&&preview_args.token&&preview_args.form_id){request_params['wpbc_bfb_preview']=1;request_params['wpbc_bfb_preview_token']=preview_args.token;request_params['wpbc_bfb_preview_form_id']=preview_args.form_id;request_params['wpbc_bfb_preview_nonce']=preview_args.nonce;
}var is_exit=wpbc_ajx_booking__create(request_params);if(true===is_exit){return;}}
function wpbc__parse_query_string(qs){var out={};qs=qs||'';qs=qs.replace(/^\?/,'');if(!qs){return out;}var parts=qs.split('&');for(var i=0;i<parts.length;i++){var kv=parts[i].split('=');var k=decodeURIComponent(kv[0]||'');if(!k){continue;}var v=decodeURIComponent(kv.slice(1).join('=')||'');out[k]=v;}return out;}function wpbc__get_bfb_preview_args_from_location(){try{var p=wpbc__parse_query_string(window.location&&window.location.search?window.location.search:'');if(!p.wpbc_bfb_preview||p.wpbc_bfb_preview==='0'){return null;}if(!p.wpbc_bfb_preview_token||!p.wpbc_bfb_preview_form_id){return null;}return{token:String(p.wpbc_bfb_preview_token),form_id:parseInt(p.wpbc_bfb_preview_form_id,10)||0,nonce:p.nonce?String(p.nonce):''};}catch(e){return null;}}function wpbc__get_form_status_for_submit(resource_id){var status='';try{if(typeof _wpbc!=='undefined'&&_wpbc.booking__get_param_value){status=_wpbc.booking__get_param_value(resource_id,'form_status');}}catch(e){}status=status==null?'':String(status);status=status.toLowerCase();
var preview_args=wpbc__get_bfb_preview_args_from_location();if(preview_args){return'preview';}return status==='preview'?'preview':'published';}
function mybooking_submit(submit_form,resource_id,wpdev_active_locale){return wpbc_booking_form_submit(submit_form,resource_id,wpdev_active_locale);}try{var ev=typeof CustomEvent==='function'?new CustomEvent('wpbc-ready'):document.createEvent('Event');if(ev.initEvent){ev.initEvent('wpbc-ready',true,true);}document.dispatchEvent(ev);console.log('wpbc-ready');}catch(e){console.error("WPBC event 'wpbc-ready' failed!",e);};