HEX
Server: nginx/1.18.0
System: Linux vps-9dcdb12e 5.15.0-176-generic #186-Ubuntu SMP Fri Mar 13 11:01:42 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.24
Disabled: exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Upload Files
File: /var/www/goautomatic.pl/wp-content/plugins/latepoint/public/javascripts/admin.js.map
{"version":3,"sources":["../../lib/assets/javascripts/bin/time.js","../../lib/assets/javascripts/bin/lateselect.js","../../lib/assets/javascripts/bin/latecheckbox.js","../../lib/assets/javascripts/bin/actions.js","../../lib/assets/javascripts/bin/notifications.js","../../lib/assets/javascripts/bin/shared.js","../../lib/assets/javascripts/bin/admin/updates.js","../../lib/assets/javascripts/bin/admin/main.js","../../lib/assets/javascripts/bin/admin/_chart.js","../../lib/assets/javascripts/bin/admin/_calendar.js","../../lib/assets/javascripts/bin/admin/_processes.js","../../lib/assets/javascripts/admin.js"],"names":[],"mappings":"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","file":"admin.js","sourcesContent":["function latepoint_is_timeframe_in_periods(timeframe_start, timeframe_end, periods_arr) {\n  var is_inside = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n  for (var i = 0; i < periods_arr.length; i++) {\n\n    var period_start = 0;\n    var period_end = 0;\n    var buffer_before = 0;\n    var buffer_after = 0;\n\n    var period_info = periods_arr[i].split(':');\n    if (period_info.length == 2) {\n      period_start = period_info[0];\n      period_end = period_info[1];\n    } else {\n      buffer_before = period_info[2];\n      buffer_after = period_info[3];\n      period_start = parseFloat(period_info[0]) - parseFloat(buffer_before);\n      period_end = parseFloat(period_info[1]) + parseFloat(buffer_after);\n    }\n    if (is_inside) {\n      if (latepoint_is_period_inside_another(timeframe_start, timeframe_end, period_start, period_end)) {\n        return true;\n      }\n    } else {\n      if (latepoint_is_period_overlapping(timeframe_start, timeframe_end, period_start, period_end)) {\n        return true;\n      }\n    }\n  };\n  return false;\n}\n\nfunction latepoint_is_period_overlapping(period_one_start, period_one_end, period_two_start, period_two_end) {\n  // https://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap/\n  return period_one_start < period_two_end && period_two_start < period_one_end;\n}\nfunction latepoint_is_period_inside_another(period_one_start, period_one_end, period_two_start, period_two_end) {\n  return period_one_start >= period_two_start && period_one_end <= period_two_end;\n}\n\n\n// Converts time in minutes to hours if possible, if minutes also exists - shows minutes too\nfunction latepoint_minutes_to_hours_preferably(time) {\n  var army_clock = latepoint_is_army_clock();\n\n  var hours = Math.floor(time / 60);\n  if (!army_clock && hours > 12) hours = hours - 12;\n\n  var minutes = time % 60;\n  if(minutes > 0) hours = hours + ':' + minutes;\n  return hours;\n}\n\n\nfunction latepoint_minutes_to_hours(time) {\n  var army_clock = latepoint_is_army_clock();\n\n  var hours = Math.floor(time / 60);\n  if (!army_clock && hours > 12) hours = hours - 12;\n  return hours;\n}\n\n\nfunction latepoint_am_or_pm(minutes) {\n  if(latepoint_is_army_clock()) return '';\n  return (minutes < 720 || minutes == 1440) ? 'am' : 'pm';\n}\n\nfunction latepoint_hours_and_minutes_to_minutes(hours_and_minutes, ampm) {\n  var hours_and_minutes_arr = hours_and_minutes.split(':');\n  var hours = hours_and_minutes_arr[0];\n  var minutes = hours_and_minutes_arr[1];\n  if(ampm == \"pm\" && hours<12) hours = parseInt(hours)+12;\n  if(ampm == \"am\" && hours==12) hours = 0;\n  minutes = parseInt(minutes) + (hours * 60);\n  return minutes;\n}\n\nfunction latepoint_get_time_system(){\n  return latepoint_helper.time_system;\n}\n\nfunction latepoint_is_army_clock(){\n  return (latepoint_get_time_system() == '24');\n}\n\nfunction latepoint_minutes_to_hours_and_minutes(minutes) {\n  var army_clock = latepoint_is_army_clock();\n  var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '%02d:%02d';\n\n  var hours = Math.floor(minutes / 60);\n  if(!army_clock && (hours > 12)) hours = hours - 12;\n  if(!army_clock && hours == 0) hours = 12;\n  var minutes = minutes % 60;\n  return sprintf(format, hours, minutes);\n}\n","(function($) {\n\n    jQuery.fn.lateSelect = function() {\n\n      function os_build_selected_item($option){\n        var quantity_html = '';\n        if($option.data('quantity')) quantity_html = '<span class=\"os-late-quantity-selector-w\"><span class=\"os-late-quantity-selector minus\" data-sign=\"minus\"></span><input class=\"os-late-quantity-selector-input\" type=\"text\" data-max-quantity=\"'+ $option.data('max-quantity') +'\" value=\"' + $option.data('quantity') + '\"/><span class=\"os-late-quantity-selector plus\" data-sign=\"plus\"></span></span>';\n        return '<div class=\"ls-item\" data-value=\"' + $option.val() + '\"><span class=\"latepoint-icon latepoint-icon-cross ls-item-remover\"></span><span>' + $option.text() + '</span>' + quantity_html + '</div>'\n      }\n\n      this.each( function() {\n          var lateselect_html = '';\n          var all_items = '';\n          var selected_items = '';\n          var is_selected = '';\n          if(jQuery(this).hasClass('os-late-select-active')) return;\n          jQuery(this).hide().addClass('os-late-select-active');\n          jQuery(this).find('option').each(function(){\n              if(jQuery(this).is(':selected')) selected_items+= os_build_selected_item(jQuery(this));\n              is_selected = jQuery(this).is(':selected') ? 'selected' : '';\n              all_items+= '<div class=\"ls-item '+ is_selected +'\" data-value=\"' + jQuery(this).val() + '\">' + jQuery(this).text() + '</div>';\n          });\n          var placeholder = '<div class=\"ls-placeholder\">' + jQuery(this).data('placeholder') + '</div>';\n          lateselect_html = jQuery('<div class=\"lateselect-w\"></div>');\n          jQuery(this).wrap(lateselect_html);\n          var $lateselect_wrapper = jQuery(this).closest('.lateselect-w');\n          $lateselect_wrapper.append('<div class=\"ls-selected-items-w\">' + placeholder + selected_items + '</div>');\n          $lateselect_wrapper.append('<div class=\"ls-all-items-w\">' + all_items + '</div>');\n\n\n          // ADD ITEM\n          $lateselect_wrapper.on('click', '.ls-all-items-w .ls-item:not(.selected)', function(){\n              var selected_value = jQuery(this).data('value');\n              $lateselect_wrapper.find('.ls-selected-items-w').append(os_build_selected_item($lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]')));\n              jQuery(this).addClass('selected');\n              $lateselect_wrapper.removeClass('ls-selecting');\n              $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').prop('selected', true);\n              $lateselect_wrapper.find('select').trigger('change');\n              return false;\n          });\n\n          // REMOVE ITEM\n          $lateselect_wrapper.on('click', '.ls-selected-items-w .ls-item-remover', function(){\n              var selected_value = jQuery(this).closest('.ls-item').data('value');\n              jQuery(this).closest('.ls-item').remove();\n              $lateselect_wrapper.find('.ls-all-items-w .ls-item.selected[data-value=\"' + selected_value + '\"]').removeClass('selected');\n              $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').prop('selected', false);\n              $lateselect_wrapper.find('select').trigger('change');\n              return false;\n          });\n\n          $lateselect_wrapper.on('click', '.ls-selected-items-w', function(){\n              $lateselect_wrapper.toggleClass('ls-selecting');\n              return false;\n          });\n\n          $lateselect_wrapper.on('click', '.os-late-quantity-selector', function(){\n              var $input = jQuery(this).closest('.ls-item').find('input.os-late-quantity-selector-input');\n              var current_value = parseInt($input.val());\n              var new_quantity = (jQuery(this).data('sign') == 'minus') ? current_value - 1 : current_value + 1;\n              var max_quantity = $input.data('max-quantity');\n              if(new_quantity <= 0) new_quantity = 1;\n              if(max_quantity && (new_quantity > max_quantity)) new_quantity = max_quantity;\n              var selected_value = jQuery(this).closest('.ls-item').data('value');\n              $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').data('quantity', new_quantity);\n              $input.val(new_quantity);\n              $lateselect_wrapper.find('select').trigger('change');\n              return false;\n          });\n\n          jQuery(this).on('change', function(){\n              var $hidden_connection = false;\n              if(jQuery(this).data('hidden-connection')){\n                $hidden_connection = jQuery(jQuery(this).data('hidden-connection'));\n              }else{\n                $hidden_connection = jQuery(this).closest('.lateselect-w').next('input[type=\"hidden\"]');\n              }\n              var formatted_ids = '';\n              if(jQuery(this).find('option:selected').length){\n                  jQuery(this).find('option:selected').each(function(){\n                    if(jQuery(this).data('quantity')){\n                      var quantity = jQuery(this).data('quantity') ? jQuery(this).data('quantity') : 1;\n                      formatted_ids+= jQuery(this).val() + ':' + quantity + ',';\n                    }else{\n                      formatted_ids+= jQuery(this).val() + ',';\n                    }\n                  });\n              }else{\n                formatted_ids = '';\n              }\n              if(formatted_ids != '') formatted_ids = formatted_ids.slice(0, -1);\n              $hidden_connection.val(formatted_ids);\n          });\n      });\n    }\n}(jQuery));","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\n(function($) {\n\n    jQuery.fn.lateCheckbox = function() {\n\n      function applyChanges(id){\n        let $wrapper = jQuery('.latecheckbox-w[data-latecheckbox-id=\"' + id + '\"]');\n        $wrapper.find('.latecheckbox-options-w').html(jQuery('.latecheckbox-options-w[data-latecheckbox-id=\"' + id + '\"]').html());\n\n        let $options = $wrapper.find('.latecheckbox-options');\n        let total_checked = $options.find('.latecheckbox-option input[type=\"checkbox\"]:checked').length;\n        let total_available = $options.find('.latecheckbox-option input[type=\"checkbox\"]').length;\n        if(total_checked < total_available){\n          $wrapper.find('.latecheckbox .filter-value').text(total_checked);\n        }else{\n          $wrapper.find('.latecheckbox .filter-value').text('All');\n        }\n        // set indeterminate, since it can only be set via JS\n        $wrapper.find('input[type=\"checkbox\"][indeterminate=\"indeterminate\"]').prop('indeterminate', true).removeAttr('indeterminate');\n\n        $wrapper.find('.latecheckbox').trigger('change');\n      }\n\n      this.each( function() {\n        var $latecheckbox_wrapper = jQuery(this).closest('.latecheckbox-w');\n        $latecheckbox_wrapper.attr('data-latecheckbox-id',  'latecheckbox-' + latepoint_random_generator());\n\n        $latecheckbox_wrapper.on('click', '.latecheckbox', function(){\n          let $latecheckbox = jQuery(this);\n          jQuery('body > .latecheckbox-options-w').remove();\n          if(jQuery(this).hasClass('is-active')){\n            jQuery(this).removeClass('is-active');\n          }else{\n            jQuery('.latecheckbox.is-active').removeClass('is-active');\n            jQuery(this).addClass('is-active');\n            let position = jQuery(this).position();\n            let left = position.left;\n            let $options_wrapper = $latecheckbox_wrapper.find('.latecheckbox-options-w');\n            let $options_wrapper_clone = $options_wrapper.clone();\n            $options_wrapper_clone.attr('data-latecheckbox-id', jQuery(this).closest('.latecheckbox-w').attr('data-latecheckbox-id')).appendTo('body');\n            if(true){\n              // todo add ability to change position\n              left = left + jQuery(this).outerWidth() - $options_wrapper_clone.outerWidth();\n            }\n            $options_wrapper_clone.css({\"top\": position.top + jQuery(this).outerHeight() +5 , \"left\": left});\n            if($options_wrapper_clone.find('.latecheckbox-filter-input').length) $options_wrapper_clone.find('.latecheckbox-filter-input').trigger('focus');\n\n            $options_wrapper_clone.on('change', '.latecheckbox-all-check', function(){\n              if(jQuery(this).is(':checked')){\n                jQuery(this).attr('checked', 'checked').removeAttr('indeterminate');\n                jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-options input[type=\"checkbox\"]').prop('checked', true).prop('indeterminate', false).attr('checked', 'checked');\n              }else{\n                jQuery(this).removeAttr('checked').removeAttr('indeterminate');\n                jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-options input[type=\"checkbox\"]').prop('checked', false).prop('indeterminate', false).removeAttr('checked');\n              }\n              applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n            });\n            $options_wrapper_clone.on('change', '.latecheckbox-group-check', function(){\n              if(jQuery(this).is(':checked')){\n                jQuery(this).attr('checked', 'checked').removeAttr('indeterminate');\n                jQuery(this).closest('.latecheckbox-group').find('.latecheckbox-group-options input[type=\"checkbox\"]').prop('checked', true).attr('checked', 'checked');\n              }else{\n                jQuery(this).removeAttr('checked').removeAttr('indeterminate');\n                jQuery(this).closest('.latecheckbox-group').find('.latecheckbox-group-options input[type=\"checkbox\"]').prop('checked', false).removeAttr('checked');\n              }\n              applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n            });\n\n            $options_wrapper_clone.on('keyup', '.latecheckbox-filter-input', function(){\n              let q = jQuery(this).val().toLowerCase();\n              if(q == ''){\n                jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-option.hidden').removeClass('hidden');\n              }else{\n                jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-option').each(function(){\n                  let text = jQuery(this).text().toLowerCase();\n                  (text.indexOf(q) >= 0) ? jQuery(this).removeClass('hidden') : jQuery(this).addClass('hidden');\n                });\n              }\n            });\n\n            $options_wrapper_clone.on('change', '.latecheckbox-option input[type=\"checkbox\"]', function(){\n              if(jQuery(this).is(':checked')){\n                jQuery(this).attr('checked', 'checked');\n              }else{\n                jQuery(this).removeAttr('checked');\n              }\n\n              // group checkbox\n              if(jQuery(this).closest('.latecheckbox-group-options').length){\n                let $group = jQuery(this).closest('.latecheckbox-group');\n                let checked_count = $group.find('.latecheckbox-option input:checked').length;\n                let unchecked_count = $group.find('.latecheckbox-option input:not(:checked)').length;\n\n                if(checked_count && unchecked_count){\n                  $group.find('.latecheckbox-group-check').prop('indeterminate', true).attr('indeterminate', 'indeterminate');\n                  $group.find('.latecheckbox-group-check').prop('checked', false).removeAttr('checked');\n                }else{\n                  $group.find('.latecheckbox-group-check').prop('indeterminate', false).removeAttr('indeterminate');\n                  if(!checked_count){\n                    $group.find('.latecheckbox-group-check').prop('checked', false).removeAttr('checked');\n                  }\n                  if(!unchecked_count){\n                    $group.find('.latecheckbox-group-check').prop('checked', true).attr('checked', 'checked');\n                  }\n                }\n              }\n              let checked_count = $options_wrapper_clone.find('.latecheckbox-option input:checked').length;\n              let unchecked_count = $options_wrapper_clone.find('.latecheckbox-option input:not(:checked)').length;\n\n              if(checked_count && unchecked_count){\n                $options_wrapper_clone.find('.latecheckbox-all-check').prop('indeterminate', true).attr('indeterminate', 'indeterminate');\n                $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', false).removeAttr('checked');\n              }else{\n                $options_wrapper_clone.find('.latecheckbox-all-check').prop('indeterminate', false).removeAttr('indeterminate');\n                if(!checked_count){\n                  $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', false).removeAttr('checked');\n                }\n                if(!unchecked_count){\n                  $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', true).attr('checked', 'checked');\n                }\n              }\n              applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n            });\n          }\n          return false;\n        });\n\n      });\n    }\n}(jQuery));","function latepoint_generate_form_message_html(messages, status){\n  var message_html = '<div class=\"os-form-message-w status-' + status + '\"><ul>';\n  if(Array.isArray(messages)){\n    messages.forEach(function(message){\n      message_html+= '<li>' + message + '</li>';\n    });\n  }else{\n    message_html+= '<li>' + messages + '</li>';\n  }\n  message_html+= '</ul></div>';\n  return message_html;\n}\n\nfunction latepoint_clear_form_messages($form){\n  $form.find('.os-form-message-w').remove();\n}\n\nfunction latepoint_show_data_in_lightbox(message, extra_classes = ''){\n  jQuery('.latepoint-lightbox-w').remove();\n  var lightbox_css_classes = 'latepoint-lightbox-w latepoint-w ';\n  if(extra_classes) lightbox_css_classes+= extra_classes;\n  jQuery('body').append('<div class=\"'+ lightbox_css_classes +'\"><div class=\"latepoint-lightbox-i\">' + message + '<a href=\"#\" class=\"latepoint-lightbox-close\"><i class=\"latepoint-icon latepoint-icon-x\"></i></a></div><div class=\"latepoint-lightbox-shadow\"></div></div>');\n  jQuery('body').addClass('latepoint-lightbox-active');\n}\n\n\n\n// DOCUMENT READY\njQuery(function( $ ) {\n\n  if($('.latepoint').find('[data-os-action-onload]').length){\n    $('.latepoint').find('[data-os-action-onload]').each(function(){\n      var $this = jQuery(this);\n      $this.addClass('os-loading');\n      var params = $this.data('os-params');\n      var return_format = $this.data('os-return-format') ? $this.data('os-return-format') : 'json'\n      var data = { action: 'latepoint_route_call', route_name: $this.data('os-action-onload'), params: params, return_format: return_format }\n      jQuery.ajax({\n        type : \"post\",\n        dataType : \"json\",\n        url : latepoint_helper.ajaxurl,\n        data : data,\n        success: function(response) {\n          $this.removeClass('os-loading');\n          if (response.status === \"success\") {\n            if($this.data('os-output-target') == 'self'){\n              $this.html(response.message);\n            }\n          }\n        }\n      });\n    });\n  }\n  /* \n    Ajax buttons action\n  */\n  $('.latepoint').on('click', 'button[data-os-action], a[data-os-action], div[data-os-action], span[data-os-action], tr[data-os-action]', function(e){\n    var $this = jQuery(this);\n    if($this.data('os-prompt') && !confirm($this.data('os-prompt'))) return false;\n    var params = $this.data('os-params');\n    if($this.data('os-source-of-params')){\n      var form_data = latepoint_create_form_data_from_non_form_element($($this.data('os-source-of-params')));\n      params = latepoint_formdata_to_url_encoded_string(form_data);\n    }\n    var return_format = $this.data('os-return-format') ? $this.data('os-return-format') : 'json'\n    var data = { action: 'latepoint_route_call', route_name: $this.data('os-action'), params: params, return_format: return_format }\n    $this.addClass('os-loading');\n    if($this.data('os-output-target') == 'side-panel'){\n      $('.latepoint-side-panel-w').remove();\n      $('body').append('<div class=\"latepoint-side-panel-w os-loading\"><div class=\"latepoint-side-panel-i\"></div><div class=\"latepoint-side-panel-shadow\"></div></div>');\n    }\n    $.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        if(response.status === \"success\"){\n          if($this.data('os-output-target') == 'lightbox'){\n            latepoint_show_data_in_lightbox(response.message, $this.data('os-lightbox-classes'));\n          }else if($this.data('os-output-target') == 'side-panel'){\n            $('.latepoint-side-panel-i').html(response.message);\n            setTimeout(function(){\n              $('.latepoint-side-panel-w').removeClass('os-loading');\n            }, 100);\n          }else if($this.data('os-success-action') == 'reload'){\n            latepoint_add_notification(response.message);\n            location.reload();\n            return;\n          }else if($this.data('os-success-action') == 'redirect'){\n            if($this.data('os-redirect-to')){\n              latepoint_add_notification(response.message);\n              window.location.replace($this.data('os-redirect-to'));\n            }else{\n              window.location.replace(response.message); \n            }\n            return;\n          }else if($this.data('os-output-target') && $($this.data('os-output-target')).length){\n            if($this.data('os-output-target-do') == 'append'){\n              $($this.data('os-output-target')).append(response.message);\n            }else{\n              $($this.data('os-output-target')).html(response.message);\n            }\n          }else{\n            switch($this.data('os-before-after')){\n              case 'before':\n                $this.before(response.message);\n                break;\n              case 'after':\n                $this.after(response.message);\n                break;\n              case 'replace':\n                $this.replaceWith(response.message);\n                break;\n              case 'none':\n                break;\n              default:\n                latepoint_add_notification(response.message);\n            }\n          }\n          if($this.data('os-after-call')){\n            var func_name = $this.data('os-after-call');\n            var callback = false;\n            if(func_name.includes('.')){\n              var func_arr = func_name.split('.');\n              if(typeof window[func_arr[0]][func_arr[1]] !== 'function'){\n                console.log(func_name + ' is undefined');\n              }\n              if($this.data('os-pass-this') && $this.data('os-pass-response')){\n                window[func_arr[0]][func_arr[1]]($this, response);\n              }else if($this.data('os-pass-this')){\n                window[func_arr[0]][func_arr[1]]($this);\n              }else if($this.data('os-pass-response')){\n                window[func_arr[0]][func_arr[1]](response);\n              }else{\n                window[func_arr[0]][func_arr[1]]();\n              }\n            }else{\n              if(typeof window[func_name] !== 'function'){\n                console.log(func_name + ' is undefined');\n              }\n              if($this.data('os-pass-this') && $this.data('os-pass-response')){\n                window[func_name]($this, response);\n              }else if($this.data('os-pass-this')){\n                window[func_name]($this);\n              }else if($this.data('os-pass-response')){\n                window[func_name](response);\n              }else{\n                window[func_name]();\n              }\n            }\n          }\n          $this.removeClass('os-loading');\n        }else{\n          $this.removeClass('os-loading');\n          if($this.data('os-output-target') && $($this.data('os-output-target')).length){\n            $($this.data('os-output-target')).prepend(latepoint_generate_form_message_html(response.message, 'error'));\n          }else{\n            alert(response.message);\n          }\n          if($this.data('os-after-call-error')){\n            var func_name = $this.data('os-after-call-error');\n            var callback = false;\n            if(func_name.includes('.')){\n              var func_arr = func_name.split('.');\n              if(typeof window[func_arr[0]][func_arr[1]] !== 'function'){\n                console.log(func_name + ' is undefined');\n              }\n              if($this.data('os-pass-this') && $this.data('os-pass-response')){\n                window[func_arr[0]][func_arr[1]]($this, response);\n              }else if($this.data('os-pass-this')){\n                window[func_arr[0]][func_arr[1]]($this);\n              }else if($this.data('os-pass-response')){\n                window[func_arr[0]][func_arr[1]](response);\n              }else{\n                window[func_arr[0]][func_arr[1]]();\n              }\n            }else{\n              if(typeof window[func_name] !== 'function'){\n                console.log(func_name + ' is undefined');\n              }\n              if($this.data('os-pass-this') && $this.data('os-pass-response')){\n                window[func_name]($this, response);\n              }else if($this.data('os-pass-this')){\n                window[func_name]($this);\n              }else if($this.data('os-pass-response')){\n                window[func_name](response);\n              }else{\n                window[func_name]();\n              }\n            }\n          }\n        }\n      }\n    });\n    return false;\n  });\n\n\n  $('.latepoint').on('click', 'form[data-os-action] button[type=\"submit\"]', function(e){\n    $(this).addClass('os-loading');\n  });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n  /* \n    Form ajax submit action\n  */\n  $('.latepoint').on('submit', 'form[data-os-action]', function(e){\n    e.preventDefault(); // prevent native submit\n      var $form = $(this);\n      var form_data = new FormData($form[0]);\n\n    if (('intlTelInputGlobals' in window) && ('intlTelInputUtils' in window)) {\n      // Get e164 formatted number from phone fields when form is submitted\n      $form.find('input.os-mask-phone').each(function () {\n        let telInstance = window.intlTelInputGlobals.getInstance(this);\n        if(telInstance){\n          const phoneInputName = this.getAttribute('name');\n          const phoneInputValue = window.intlTelInputGlobals.getInstance(this).getNumber(window.intlTelInputUtils.numberFormat.E164);\n          form_data.set(phoneInputName, phoneInputValue);\n        }\n      });\n    }\n\n    var data = { action: 'latepoint_route_call', route_name: $(this).data('os-action'), params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n    $form.find('button[type=\"submit\"]').addClass('os-loading');\n    $.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $form.find('button[type=\"submit\"].os-loading').removeClass('os-loading');\n        latepoint_clear_form_messages($form);\n        if(response.status === \"success\"){\n          if($form.data('os-success-action') == 'reload'){\n            latepoint_add_notification(response.message);\n            location.reload();\n            return;\n          }else if($form.data('os-success-action') == 'redirect'){\n            if($form.data('os-redirect-to')){\n              latepoint_add_notification(response.message);\n              window.location.replace($form.data('os-redirect-to'));\n            }else{\n              window.location.replace(response.message);\n            }\n            return;\n          }else if($form.data('os-output-target') && $($form.data('os-output-target')).length){\n            $($form.data('os-output-target')).html(response.message);\n          }else{\n            if(response.message == 'redirect'){\n              window.location.replace(response.url);\n            }else{\n              latepoint_add_notification(response.message);\n              $form.prepend(latepoint_generate_form_message_html(response.message, 'success'));\n            }\n          }\n          if($form.data('os-record-id-holder') && response.record_id){\n            $form.find('[name=\"' + $form.data('os-record-id-holder') + '\"]').val(response.record_id)\n          }\n          if($form.data('os-after-call')){\n            var func_name = $form.data('os-after-call');\n            if(typeof window[func_name] !== 'function'){\n              console.log(func_name + ' is undefined');\n            }\n            if($form.data('os-pass-response')){\n              window[func_name](response);\n            }else{\n              window[func_name]();\n            }\n          }\n          $('button.os-loading').removeClass('os-loading');\n        }else{\n          $('button.os-loading').removeClass('os-loading');\n          if($form.data('os-show-errors-as-notification')){\n            latepoint_add_notification(response.message, 'error');\n          }else{\n            $form.prepend(latepoint_generate_form_message_html(response.message, 'error'));\n            $([document.documentElement, document.body]).animate({\n                scrollTop: ($form.find(\".os-form-message-w\").offset().top - 30)\n            }, 200);\n          }\n        }\n        if(response.form_values_to_update){\n          $.each(response.form_values_to_update, function(name, value){\n            $form.find('[name=\"'+ name +'\"]').val(value);\n          });\n        }\n      }\n    });\n    return false;\n  });\n});","function latepoint_add_notification(message, message_type = 'success'){\n\tvar wrapper = jQuery('body').find('.os-notifications');\n\tif(!wrapper.length){\n\t\tjQuery('body').append('<div class=\"os-notifications\"></div>');\n\t\twrapper = jQuery('body').find('.os-notifications');\n\t}\n\tif(wrapper.find('.item').length > 0) wrapper.find('.item:first-child').remove();\n\twrapper.append('<div class=\"item item-type-'+ message_type +'\">' + message + '<span class=\"os-notification-close\"><i class=\"latepoint-icon latepoint-icon-x\"></i></span></div>');\n}","function latepoint_random_generator() {\n    var S4 = function() {\n       return (((1+Math.random())*0x10000)|0).toString(16).substring(1);\n    };\n    return (S4()+S4()+\"-\"+S4()+\"-\"+S4()+\"-\"+S4()+\"-\"+S4()+S4()+S4());\n}\n\nfunction latepoint_validate_form($form){\n\tlet errors = [];\n\t$form.find('select[data-os-validate], input[data-os-validate], textarea[data-os-validate]').each(function(){\n\t\tlet validations = jQuery(this).data('os-validate').split(' ');\n\t\tlet $input = jQuery(this);\n\t\tlet label = $input.closest('.os-form-group').find('label').text();\n\t\tlet field_has_errors = false;\n\t\tif(validations) {\n\t\t\tfor (let i = 0; i < validations.length; i++) {\n\t\t\t\tswitch (validations[i]) {\n\t\t\t\t\tcase 'presence':\n\t\t\t\t\t\tif(!$input.val()){\n\t\t\t\t\t\t\terrors.push({message: label + ' ' + latepoint_helper.msg_validation_presence});\n\t\t\t\t\t\t\tfield_has_errors = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'phone':\n\t\t\t\t\t\tif (!window.intlTelInputGlobals.getInstance($input[0]).isValidNumber()) {\n\t\t\t\t\t\t\terrors.push({message: label + ' ' + latepoint_helper.msg_validation_invalid});\n\t\t\t\t\t\t\tfield_has_errors = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(field_has_errors){\n\t\t\t$input.closest('.os-form-group').addClass('os-invalid');\n\t\t}else{\n\t\t\t$input.closest('.os-form-group').removeClass('os-invalid');\n\t\t}\n\t});\n\treturn errors;\n}\n\nfunction latepoint_create_form_data_from_non_form_element($elem){\n\tlet formData = new FormData();\n\t// create objecte from all input fields that are inside of the element\n\tlet fields = $elem.find('select, input, textarea').serializeArray();\n\tif(fields){\n\t\tfields.forEach(field => formData.append(field.name, field.value));\n\t}\n\treturn formData;\n}\n\nfunction latepoint_create_form_data_from_booking_form($booking_form, route_name = false, extra_params = false){\n  let form_data = new FormData();\n  let params = new FormData($booking_form[0]);\n\n\tif(extra_params){\n\t\tObject.keys(extra_params).forEach(key => {\n\t\t\t\tparams.set(key, extra_params[key]);\n\t\t});\n\t}\n\n  // get values from phone number fields\n  if (('intlTelInputGlobals' in window) && ('intlTelInputUtils' in window)) {\n    $booking_form.find('input.os-mask-phone').each(function () {\n      const phoneInputName = this.getAttribute('name');\n      const phoneInputValue = window.intlTelInputGlobals.getInstance(this).getNumber(window.intlTelInputUtils.numberFormat.E164);\n\t\t\t// override value generated automatically by formdata with a formatted value of a phone field with country code\n      params.set(phoneInputName, phoneInputValue);\n    });\n  }\n\tparams.set('_wpnonce', $booking_form.find('#_wpnonce').val());\n\n  form_data.append('params', latepoint_formdata_to_url_encoded_string(params));\n  form_data.append('action', latepoint_helper.route_action);\n  form_data.append('route_name', route_name ? route_name : $booking_form.data('route-name'));\n  form_data.append('layout', 'none');\n  form_data.append('return_format', 'json');\n\n  let file_data;\n  // put file data into main form_data object, since we can't send them in \"params\" string\n  $booking_form.find('input[type=\"file\"]').each(function(){\n    file_data = this.files; // get multiple files from input file\n    let file_name = this.getAttribute(\"name\");\n    for(let i = 0;i<file_data.length;i++){\n      form_data.append(file_name+'[]', file_data[i]);\n    }\n  });\n  return form_data;\n}\n\nfunction latepoint_mask_timefield($elem){\n\tif(jQuery().inputmask){\n\t  $elem.inputmask({\n\t      'mask': '99:99',\n\t      'placeholder': 'HH:MM'\n\t  });\n\t}\n}\n\nfunction latepoint_formdata_to_url_encoded_string(form_data){\n\tlet filtered_form_data = new FormData();\n  // remove file fields from params, so we can serialize it into string,\n\t// !important, this will not include file fields into the form_data, so you have to include them manually, see latepoint_create_form_data_from_booking_form() that does it\n\t// note: we don't use form_data.remove(key) on original object because we might want to preserve it\n  for (const [key, value] of form_data) {\n\t\tif(value instanceof File) continue;\n\t\tif(key.slice(-2) === '[]'){\n\t\t\t// expecting array, append\n\t\t\tfiltered_form_data.append(key, value);\n\t\t}else{\n\t\t\tfiltered_form_data.set(key, value);\n\t\t}\n  }\n\treturn new URLSearchParams(filtered_form_data).toString();\n}\n\nfunction latepoint_mask_percent($elem){\n\tif(jQuery().inputmask){\n\t  $elem.inputmask({\n\t\t\t'alias': 'decimal',\n\t\t\t'radixPoint': latepoint_helper.decimal_separator,\n\t\t\t'digits': 4,\n\t\t\t'digitsOptional': false,\n\t\t\t'suffix': '%',\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t  });\n\t}\n}\n\nfunction latepoint_mask_minutes($elem){\n\tif(jQuery().inputmask){\n\t  $elem.inputmask({\n\t\t\t'removeMaskOnSubmit' : true,\n\t\t\t'alias': 'numeric',\n\t\t\t'digits': 0,\n\t\t\t'suffix': latepoint_helper.msg_minutes_suffix,\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t  });\n\t}\n}\n\n\nfunction latepoint_mask_money($elem){\n\tif(jQuery().inputmask){\n\t  $elem.inputmask({\n\t\t\t'alias': 'currency',\n\t\t\t'groupSeparator': latepoint_helper.thousand_separator,\n\t\t\t'radixPoint': latepoint_helper.decimal_separator,\n\t\t\t'digits': latepoint_helper.number_of_decimals,\n\t\t\t'digitsOptional': false,\n\t\t\t'prefix': latepoint_helper.currency_symbol_before ? latepoint_helper.currency_symbol_before + ' ' : '',\n\t\t\t'suffix': latepoint_helper.currency_symbol_after ? ' ' + latepoint_helper.currency_symbol_after : '',\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t  });\n\t}\n}\n\nfunction latepoint_mask_date($elem){\n\tif(jQuery().inputmask){\n\t  $elem.inputmask({\n\t\t\t'alias': 'datetime',\n\t\t\t'inputFormat' : latepoint_helper.date_format_for_js\n\t  });\n\t}\n}\n\nfunction latepoint_init_phone_masking_from_placeholder($input){\n\tif(!latepoint_helper.mask_phone_number_fields) return;\n\tlet format = $input.attr('placeholder');\n\tif(format && jQuery().inputmask) {\n\t\t$input.inputmask(format.replace(/[0-9]/g, 9));\n\t}\n}\n\nfunction latepoint_mask_phone($elem){\n\tlet jsElem = $elem[0];\n\n\t// First priority is to prevent duplicates (common in non-document.body contexts)\n\tif (jsElem && !window.intlTelInputGlobals.getInstance(jsElem)) {\n\t\tlet dropdownContainer = document.body;\n\n\t\tlet onlyCountries = JSON.parse(latepoint_helper.included_phone_countries);\n\t\t// Remedy a quirk with json_encode(EMPTY_ARRAY)\n\t\tif (onlyCountries.length === 1 && onlyCountries[0] === \"\") {\n\t\t\tonlyCountries = [];\n\t\t}\n\t\tconst preferredCountries = onlyCountries.length ? [] : window.intlTelInputGlobals.defaults.preferredCountries;\n\n\t\t// remove country name in english and only use names in country language\n\t\tvar countryData = window.intlTelInputGlobals.getCountryData();\n\n\t\tfor (var i = 0; i < countryData.length; i++) {\n\t\t\tvar country = countryData[i];\n\t\t\tcountry.name = country.name.replace(/ *\\([^)]*\\) */g, \"\");\n\t\t}\n\n\t\tlet defaultCountryCode = latepoint_helper.default_phone_country;\n\t\tif(onlyCountries.length && !onlyCountries.includes(defaultCountryCode)){\n\t\t\tdefaultCountryCode = onlyCountries[0];\n\t\t}\n\n\n\t\tlet iti = window.intlTelInput(jsElem, {\n\t\t\tdropdownContainer: dropdownContainer,\n\t\t\tformatOnDisplay: true,\n\t\t\tnationalMode: true,\n\t\t\tautoPlaceholder: 'aggressive',\n\t\t\tinitialCountry: defaultCountryCode,\n\t\t\tgeoIpLookup: function (callback) {\n\t\t\t\tconst cookieName = 'latepoint_phone_country';\n\n\t\t\t\tif (latepoint_has_cookie(cookieName)) {\n\t\t\t\t\tcallback(latepoint_get_cookie(cookieName));\n\t\t\t\t} else {\n\t\t\t\t\tjQuery.get('https://ipinfo.io', function () {\n\t\t\t\t\t}, 'jsonp').always(function (response) {\n\t\t\t\t\t\t// Sensible default\n\t\t\t\t\t\tlet countryCode = defaultCountryCode;\n\n\t\t\t\t\t\tif (response && response.country) {\n\t\t\t\t\t\t\tcountryCode = response.country.toLowerCase();\n\t\t\t\t\t\t\tlatepoint_set_cookie(cookieName, countryCode);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback(countryCode);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t},\n\t\t\tallowDropdown: onlyCountries.length != 1,\n\t\t\tonlyCountries: onlyCountries,\n\t\t\tpreferredCountries: preferredCountries,\n\t\t\tseparateDialCode: latepoint_helper.is_enabled_show_dial_code_with_flag\n\t\t});\n\n\t\titi.promise.then(function() {\n\t\t\tlatepoint_init_phone_masking_from_placeholder($elem);\n\t\t});\n\n\n\t\t$elem.on(\"countrychange\", function(event) {\n\t\t\tlatepoint_init_phone_masking_from_placeholder(jQuery(this));\n\t\t});\n\t}\n}\n\nfunction latepoint_show_booking_end_time(){\n\treturn (latepoint_helper.show_booking_end_time == 'yes');\n}\n\nfunction latepoint_set_cookie(name, value, days) {\n\tlet date = new Date;\n\tdate.setTime(date.getTime() + 24*60*60*1000*days);\n\tdocument.cookie = name + \"=\" + value + \";path=/;expires=\" + date.toGMTString();\n}\n\nfunction latepoint_get_cookie(name) {\n\tlet cookie = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n\treturn cookie ? cookie[2] : null;\n}\n\nfunction latepoint_has_cookie(name) {\n\treturn latepoint_get_cookie(name) !== null;\n}\n\nfunction latepoint_delete_cookie(name) { latepoint_set_cookie(name, '', -1); }","function latepoint_load_addons_info(){\n  var $addons_info_wrapper = jQuery('.addons-info-holder');\n  $addons_info_wrapper.addClass('os-loading');\n  var route = $addons_info_wrapper.data('route');\n\n  var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n  jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n    success: function(response){\n      $addons_info_wrapper.removeClass('os-loading');\n      if(response.status === \"success\"){\n        if(response.message){\n          $addons_info_wrapper.html(response.message);\n        }else{\n          $addons_info_wrapper.html('Something is wrong. Try refreshing the page.')\n        }\n      }else{\n        alert(response.message, 'error');\n      }\n    }\n  });\n}\n\n\nfunction latepoint_dismiss_message($elem){\n  $elem.closest('.addon-message').slideUp(300);\n  return false;\n}\n\nfunction latepoint_check_for_updates(){\n  if(jQuery('.version-log-w').length){\n    var $log_wrapper = jQuery('.version-log-w');\n    $log_wrapper.addClass('os-loading');\n    var route = $log_wrapper.data('route');\n\n    var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n    jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n      success: function(response){\n        $log_wrapper.removeClass('os-loading');\n        if(response.status === \"success\"){\n          $log_wrapper.html(response.message);\n        }else{\n          alert(response.message, 'error');\n        }\n      }\n    });\n  }\n  if(jQuery('.version-status-info').length){\n\n    var $version_info_wrapper = jQuery('.version-status-info');\n    $version_info_wrapper.addClass('os-loading');\n    var route = $version_info_wrapper.data('route');\n\n    var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n    jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n      success: function(response){\n        $version_info_wrapper.removeClass('os-loading');\n        if(response.status === \"success\"){\n          $version_info_wrapper.html(response.message);\n        }else{\n          alert(response.message, 'error');\n        }\n      }\n    });\n  }\n  if(jQuery('.addons-info-holder').length){\n    latepoint_load_addons_info();\n  }\n}\n\n\n// DOCUMENT READY\njQuery(document).ready(function( $ ) {\n  latepoint_check_for_updates();\n\n\n  jQuery('body').on('click', '.addon-category-filter-trigger', function(){\n\t\tjQuery('.addons-categories-wrapper .addon-category-filter-trigger.is-selected').removeClass('is-selected');\n\t\tif(jQuery(this).data('category')){\n\t\t\tlet category = jQuery(this).data('category').toString();\n\t\t\tjQuery('.addon-box').addClass('hidden');\n\t\t\tjQuery('.addon-box').each(function(){\n\t\t\t\tif(jQuery(this).data('category').toString().split(',').includes(category)) jQuery(this).removeClass('hidden');\n\t\t\t})\n\t\t}else{\n\t\t\tjQuery('.addon-box').removeClass('hidden');\n\t\t}\n\n\t\tjQuery(this).addClass('is-selected');\n    return false;\n  })\n\n\n  // Install addon button click\n  jQuery('.addons-info-holder').on('click', '.os-addon-action-btn', function(){\n    var $install_btn = jQuery(this);\n    $install_btn.addClass('os-loading');\n\n    var data = { action: 'latepoint_route_call', route_name: $install_btn.data('route-name'), params: { addon_name: $install_btn.data('addon-name'), addon_path: $install_btn.data('addon-path') }, layout: 'none', return_format: 'json'};\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $install_btn.removeClass('os-loading');\n        if(response.status === \"success\"){\n          latepoint_add_notification(response.message);\n          latepoint_load_addons_info();\n        }else{\n          if(response.code == '404'){\n            latepoint_show_data_in_lightbox(response.message);\n          }else{\n            alert(response.message);\n          }\n        }\n      }\n    });\n    return false;\n  });\n});","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_init_json_view($pre_element = false){\n  if(!$pre_element){\n    // if pre is not provided -search for all unitialised ones\n    $pre_element = jQuery('pre.format-json:not(.json-document)');\n  }\n  if($pre_element.length){\n    $pre_element.each(function(){\n      let json_data = JSON.parse(jQuery(this).html());\n      jQuery(this).jsonViewer(json_data);\n    });\n  }\n}\n\nfunction latepoint_init_accordions(){\n  jQuery('.latepoint-admin').on('click', '.os-accordion-title', function(){\n    jQuery(this).closest('.os-accordion-wrapper').toggleClass('is-open');\n    return false;\n  });\n}\n\nfunction latepoint_init_sticky_side_menu(){\n  jQuery('.os-sticky-side-menu a').on('click', function(){\n    jQuery('.os-sticky-side-menu li.os-active').removeClass('os-active');\n    jQuery(this).closest('li').addClass('os-active');\n    let section_anchor = jQuery(this).data('section-anchor');\n    let position = jQuery('.section-anchor#'+section_anchor).offset();\n    jQuery('html').animate({ scrollTop: position.top }, 300);\n    return false;\n  });\n}\n\nfunction latepoint_init_template_library(){\n  jQuery('.os-templates-wrapper .template-type-selector').on('click', function(){\n    jQuery('.os-templates-wrapper .template-type-selector.is-selected').removeClass('is-selected');\n    jQuery(this).addClass('is-selected');\n    let user_type = jQuery(this).data('user-type');\n    jQuery('.os-templates-wrapper .os-template-item.hidden').removeClass('hidden');\n    jQuery('.os-templates-wrapper .os-template-item:not([data-user-type=\"'+user_type+'\"])').addClass('hidden');\n    return false;\n  });\n\n  jQuery('.os-templates-wrapper .os-template-item').on('click', function(){\n    let $this = jQuery(this);\n    $this.closest('.os-templates-list').find('.os-template-item.selected').removeClass('selected');\n    $this.addClass('selected');\n    let templateId = $this.data('id');\n    jQuery('.os-template-preview').hide();\n    jQuery('.os-template-preview[data-id=\"'+ templateId+'\"]').show();\n    return false;\n  });\n\n  jQuery('.latepoint-select-template-btn').on('click', function(){\n    let $btn = jQuery(this);\n    let route_name = $btn.data('route');\n    let action_id = $btn.data('action-id');\n    let action_type = $btn.data('action-type');\n    $btn.addClass('os-loading');\n\n    let data = {  action: latepoint_helper.route_action,\n                  route_name: route_name,\n                  params: {\n                    template_id: jQuery('.os-template-item.selected').data('id'),\n                    action_id: action_id,\n                    action_type: action_type\n                  },\n                  return_format: 'json' }\n    jQuery.ajax({\n      type: 'post',\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: (response) => {\n        $btn.removeClass('os-loading');\n        if(response.status === latepoint_helper.response_status.success){\n          let $action_form = jQuery('.process-action-form[data-id=\"'+action_id+'\"]');\n          $action_form.find('.process-action-settings').html(response.message);\n          latepoint_init_process_action_form($action_form);\n          latepoint_lightbox_close();\n        }else{\n          alert(\"Error!\");\n        }\n      }\n    });\n\n    return false;\n  });\n}\n\nfunction latepoint_init_default_form_fields_settings(){\n\n  if(jQuery('.os-default-fields').length){\n    jQuery('.os-default-field input[type=\"checkbox\"], .os-default-field select').on('change', (event) => {\n      latepoint_update_default_form_fields_settings();\n    });\n\n    jQuery('.os-default-field .os-toggler').on('ostoggler:toggle', (event) => {\n      if(jQuery(event.currentTarget).hasClass('off')){\n        jQuery(event.currentTarget).closest('.os-default-field').addClass('is-disabled');\n      }else{\n        jQuery(event.currentTarget).closest('.os-default-field').removeClass('is-disabled');\n      }\n      latepoint_update_default_form_fields_settings();\n    });\n  }\n}\n\nfunction latepoint_update_default_form_fields_settings(){\n  var $wrapper = jQuery('.os-default-fields');\n\n  var form_data = new FormData($wrapper.find('form')[0]);\n  var data = {  action: latepoint_helper.route_action,\n    route_name: $wrapper.data('route'),\n    params: latepoint_formdata_to_url_encoded_string(form_data),\n    return_format: 'json' }\n\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: (response) => {\n      latepoint_add_notification(response.message);\n    }\n  });\n}\n\nfunction latepoint_submit_quick_booking_form(){\n  let $quick_edit_form = jQuery('form.booking-quick-edit-form');\n\n  let errors = latepoint_validate_form($quick_edit_form);\n  if(errors.length){\n    let error_messages = errors.map(error =>  error.message ).join(', ');\n    latepoint_add_notification(error_messages, 'error');\n    return false;\n  }\n\n  $quick_edit_form.find('button[type=\"submit\"]').addClass('os-loading');\n  jQuery.ajax({\n    type: \"post\",\n    dataType: \"json\",\n    processData: false,\n    contentType: false,\n    url: latepoint_helper.ajaxurl,\n    data: latepoint_create_form_data_from_booking_form($quick_edit_form),\n    success: function (response) {\n      $quick_edit_form.find('button[type=\"submit\"]').removeClass('os-loading');\n      if(response.form_values_to_update){\n        jQuery.each(response.form_values_to_update, function(name, value){\n          $quick_edit_form.find('[name=\"'+ name +'\"]').val(value);\n        });\n      }\n      if (response.status === \"success\") {\n        latepoint_add_notification(response.message);\n        latepoint_reload_after_booking_save();\n      }else{\n        latepoint_add_notification(response.message, 'error');\n      }\n    }\n  });\n\n}\n\nfunction latepoint_reload_balance_and_payments(){\n  let $wrapper = jQuery('.balance-payment-info');\n  $wrapper.closest('.balance-payment-wrapper').addClass('os-loading');\n  let route_name = $wrapper.data('route');\n  let $quick_edit_form = $wrapper.closest('form.booking-quick-edit-form');\n  let form_data = new FormData($quick_edit_form[0]);\n\n  let data = { action: latepoint_helper.route_action, route_name: route_name, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(response){\n      $wrapper.closest('.balance-payment-wrapper').removeClass('os-loading');\n      if(response.status === \"success\"){\n        jQuery('.balance-payment-wrapper').html(response.message);\n      }else{\n        alert(response.message);\n      }\n    }\n  });\n}\n\nfunction latepoint_init_side_menu(){\n  jQuery('.menu-toggler').on('click', function(){\n    var layout_style = 'full';\n    if(jQuery('.latepoint-side-menu-w').hasClass('side-menu-full')){\n      layout_style = 'compact';\n      jQuery('.latepoint-side-menu-w').addClass('side-menu-compact').removeClass('side-menu-full');\n    }else{\n      jQuery('.latepoint-side-menu-w').addClass('side-menu-full').removeClass('side-menu-compact');\n    }\n    var route_name = jQuery(this).data('route');\n    var data = { action: latepoint_helper.route_action, route_name: route_name, params: { menu_layout_style: layout_style }, layout: 'none', return_format: 'json' }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n      }\n    });\n    return false;\n  });\n}\n\nfunction latepoint_init_grouped_bookings_form(){\n\n}\n\nfunction latepoint_quick_booking_customer_cleared(){\n  latepoint_init_input_masks(jQuery('.quick-booking-form-w .customer-quick-edit-form-w'));\n}\n\nfunction latepoint_quick_booking_customer_selected(){\n  latepoint_init_input_masks(jQuery('.quick-booking-form-w .customer-quick-edit-form-w'));\n  jQuery('.customer-info-w').removeClass('selecting').addClass('selected');\n}\n\nfunction latepoint_custom_day_removed($elem){\n  $elem.closest('.custom-day-work-period').fadeOut(300, function(){ jQuery(this).remove()});\n}\n\n\nfunction latepoint_count_active_connections($connection_wrapper){\n  var connected_services_count = $connection_wrapper.find('.connection-children-list li.active').length;\n  var all_services_count = $connection_wrapper.find('.connection-children-list li').length;\n  if(connected_services_count == all_services_count){\n    connected_services_count = jQuery('.selected-connections').data('all-text');\n    jQuery('.selected-connections').removeClass('not-all-selected');\n  }else{\n    connected_services_count = connected_services_count + '/' + all_services_count;\n    jQuery('.selected-connections').addClass('not-all-selected');\n    $connection_wrapper.closest('.white-box').find('.os-select-all-toggler').prop('checked', false);\n  }\n  $connection_wrapper.find('.selected-connections strong').text(connected_services_count);\n}\n\nfunction latepoint_custom_field_removed($elem){\n  $elem.closest('.os-form-block').remove();\n}\n\nfunction latepoint_coupon_removed($elem){\n  $elem.closest('.os-coupon-form').remove();\n}\n\nfunction latepoint_reminder_removed($elem){\n  $elem.closest('.os-reminder-form').remove();\n}\n\nfunction latepoint_init_form_blocks(){\n  jQuery('.latepoint-content-w').on('click', '.os-form-block-header', function(){\n    jQuery(this).closest('.os-form-block').toggleClass('os-is-editing');\n    return false;\n  });\n  jQuery('.latepoint-content-w').on('keyup', '.os-form-block-name-input', function(){\n    jQuery(this).closest('.os-form-block').find('.os-form-block-name').text(jQuery(this).val());\n  });\n}\n\n\nfunction latepoint_init_coupons_form(){\n  jQuery('.latepoint-content-w').on('click', '.os-coupon-form-info', function(){\n    jQuery(this).closest('.os-coupon-form').toggleClass('os-is-editing');\n    return false;\n  });\n  jQuery('.latepoint-content-w').on('change', 'select.os-coupon-medium-select', function(){\n    if(jQuery(this).val() == 'email'){\n      jQuery(this).closest('.os-coupon-form').find('.os-coupon-email-subject').show();\n    }else{\n      jQuery(this).closest('.os-coupon-form').find('.os-coupon-email-subject').hide();\n    }\n  });\n  jQuery('.latepoint-content-w').on('keyup', '.os-coupon-name-input', function(){\n    jQuery(this).closest('.os-coupon-form').find('.os-coupon-name').text(jQuery(this).val());\n  });\n  jQuery('.latepoint-content-w').on('keyup', '.os-coupon-code-input', function(){\n    jQuery(this).closest('.os-coupon-form').find('.os-coupon-code').text(jQuery(this).val());\n  });\n}\n\nfunction latepoint_init_reminders_form(){\n  jQuery('.latepoint-content-w').on('click', '.os-reminder-form-info', function(){\n    jQuery(this).closest('.os-reminder-form').toggleClass('os-is-editing');\n    return false;\n  });\n  jQuery('.latepoint-content-w').on('change', 'select.os-reminder-medium-select', function(){\n    if(jQuery(this).val() == 'email'){\n      jQuery(this).closest('.os-reminder-form').find('.os-reminder-email-subject').show();\n    }else{\n      jQuery(this).closest('.os-reminder-form').find('.os-reminder-email-subject').hide();\n    }\n  });\n  jQuery('.latepoint-content-w').on('keyup', '.os-reminder-name-input', function(){\n    jQuery(this).closest('.os-reminder-form').find('.os-reminder-name').text(jQuery(this).val());\n  });\n}\n\nfunction latepoint_custom_field_saved($elem){\n}\n\nfunction latepoint_init_custom_day_schedule(){\n  latepoint_init_input_masks(jQuery('.latepoint-lightbox-w .custom-day-schedule-w'));\n\n  jQuery('.period-type-selector').on('change', function(){\n    jQuery(this).closest('.custom-day-calendar').attr('data-period-type', jQuery(this).val());\n    jQuery('.custom-day-calendar').attr('data-picking', 'start').data('picking', 'start');\n    if(jQuery(this).val() == 'range'){\n      jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-start'));\n      jQuery('.custom-day-calendar #start_custom_date').focus();\n    }else{\n      jQuery('.custom-day-calendar .os-day.selected').removeClass('selected');\n      jQuery('.latepoint-lightbox-footer').hide();\n      jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-single'));\n    }\n  });\n\n\n  jQuery('#custom_day_calendar_month, #custom_day_calendar_year').on('change', function(){\n    var $calendar = jQuery('.custom-day-calendar-month');\n    var route_name = $calendar.data('route');\n    $calendar.addClass('os-loading');\n    var target_date_string = jQuery('#custom_day_calendar_year').val() + '-' + jQuery('#custom_day_calendar_month').val() + '-01';\n    var data = { action: latepoint_helper.route_action, route_name: route_name, params: { target_date_string: target_date_string }, layout: 'none', return_format: 'json' }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $calendar.removeClass('os-loading');\n        if(data.status === \"success\"){\n          $calendar.html(data.message);\n        }else{\n          // console.log(data.message);\n        }\n      }\n    });\n  });\n\n\n\n  jQuery('.custom-day-calendar').on('focus', '#start_custom_date', function(){\n    jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-start'));\n    jQuery('.custom-day-calendar').attr('data-picking', 'start').data('picking', 'start');\n  });\n\n  jQuery('.custom-day-calendar').on('focus', '#end_custom_date', function(){\n    jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-end'));\n    jQuery('.custom-day-calendar').attr('data-picking', 'end').data('picking', 'end');\n  });\n\n  jQuery('.custom-day-calendar').on('click', '.os-day', function(){\n    var $this = jQuery(this);\n    $this.closest('.custom-day-calendar').find('.os-day.selected').removeClass('selected');\n    $this.addClass('selected');\n\n    if(jQuery('.custom-day-calendar').data('picking') == 'start'){\n      jQuery('.custom-day-settings-w #start_custom_date').val($this.data('date')).trigger('keyup');\n      if(jQuery('.period-type-selector').val() == 'range'){\n        jQuery('.custom-day-calendar #end_custom_date').focus();\n        if(!jQuery('.custom-day-calendar #end_custom_date').val()) return false;\n      }\n    }else{\n      jQuery('.custom-day-settings-w #end_custom_date').val($this.data('date')).trigger('keyup');\n    }\n    jQuery('.latepoint-lightbox-footer').slideDown(200);\n    if(jQuery('.custom-day-calendar').data('show-schedule') == 'yes') jQuery('.latepoint-lightbox-w').removeClass('hide-schedule');\n    return false;\n  });\n}\n\nfunction latepoint_init_updates_page(){\n\n}\n\nfunction latepoint_calendar_set_month_label(){\n  jQuery('.os-current-month-label .current-month').text(jQuery('.os-monthly-calendar-days-w.active').data('calendar-month-label'));\n  jQuery('.os-current-month-label .current-year').text(jQuery('.os-monthly-calendar-days-w.active').data('calendar-year'));\n}\n\n\nfunction latepoint_init_element_togglers(){\n  jQuery('[data-toggle-element]').on('click', function(){\n    var $this = jQuery(this);\n    $this.closest('.os-form-checkbox-group').toggleClass('is-checked');\n    jQuery($this.data('toggle-element')).toggle();\n  });\n}\n\n\nfunction latepoint_init_color_picker(){\n  if(jQuery('.latepoint-color-picker').length){\n    jQuery('.latepoint-color-picker').each(function(){\n      var color = jQuery(this).data('color');\n      var picker = jQuery(this)[0];\n      var $picker_wrapper = jQuery(this).closest('.latepoint-color-picker-w');\n      Pickr.create({\n        el: picker,\n        default: color,\n        comparison: false,\n        useAsButton: true,\n        components: {\n\n            // Main components\n            preview: true,\n            opacity: false,\n            hue: true,\n\n            // Input / output Options\n            interaction: {\n                input: false,\n                clear: false,\n                save: true\n            }\n        },\n        onChange(hsva, instance) {\n          $picker_wrapper.find('.os-form-control').val(hsva.toHEX().toString());\n        },\n      });\n    });\n  }\n}\n\n\nfunction latepoint_lightbox_close(){\n  jQuery('body').removeClass('latepoint-lightbox-active');\n  jQuery('.latepoint-lightbox-w').remove();\n}\n\nfunction latepoint_reload_select_service_categories(){\n  jQuery('.service-selector-adder-field-w').each(function(){\n    var $trigger_elem = jQuery(this);\n    var route = jQuery('.service-selector-adder-field-w').find('select').data('select-source');\n    var data = { action: latepoint_helper.route_action, route_name: route, params: '', return_format: 'json' }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $trigger_elem.removeClass('os-loading');\n        if(response.status === \"success\"){\n          latepoint_lightbox_close();\n          $trigger_elem.find('select').html(response.message);\n          $trigger_elem.find('select option:last').attr('selected', 'selected');\n        }else{\n          alert(response.message, 'error');\n        }\n      }\n    });\n  });\n}\n\nfunction latepoint_wizard_item_editing_cancelled(){\n  jQuery('.os-wizard-setup-w').removeClass('is-sub-editing');\n  jQuery('.os-wizard-footer').show();\n  jQuery('.os-wizard-footer .os-wizard-next-btn').show();\n}\n\nfunction latepoint_load_quick_availability($trigger_elem, custom_agent_id = false, start_date = false, load_more_days = false, load_prev_days = false){\n  $trigger_elem.addClass('os-loading');\n  var route = jQuery('.trigger-quick-availability').data('route');\n  var $quick_booking_form = jQuery('.quick-booking-form-w');\n\n  if(custom_agent_id) $quick_booking_form.find('select[name=\"booking[agent_id]\"]').val(custom_agent_id);\n  if(!$quick_booking_form.find('input[name=\"booking[service_id]\"]').val() || $quick_booking_form.find('input[name=\"booking[service_id]\"]').val() == 0){\n    $quick_booking_form.find('.os-services-select-field-w .service-option:first').trigger('click');\n  }\n\n  let form_data = new FormData($quick_booking_form.find('form')[0]);\n\n  if(start_date) form_data.set('start_date', start_date);\n  if(load_more_days || load_prev_days) form_data.set('show_days_only', true);\n  if(load_prev_days) form_data.set('previous_days', true);\n\n  var data = { action: latepoint_helper.route_action, route_name: route, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(response){\n      $trigger_elem.removeClass('os-loading');\n      if(response.status === \"success\"){\n        if(load_more_days){\n          jQuery('.latepoint-side-panel-w .quick-availability-per-day-w').html(response.message);\n        }else if(load_prev_days){\n          jQuery('.latepoint-side-panel-w .quick-availability-per-day-w').html(response.message);\n          jQuery('.latepoint-side-panel-w .os-availability-days').scrollTop(30);\n        }else{\n          if(jQuery('.latepoint-side-panel-w .side-sub-panel').length){\n            jQuery('.latepoint-side-panel-w .side-sub-panel').replaceWith(response.message);\n          }else{\n            jQuery('.latepoint-side-panel-w').append(response.message);\n          }\n          jQuery('.latepoint-side-panel-w .os-availability-days').scrollTop(30);\n          latepoint_init_quick_availability_form();\n        }\n      }else{\n        alert(response.message, 'error');\n      }\n    }\n  });\n}\n\nfunction latepoint_init_quick_availability_form(){\n  var selected_start_date = jQuery('.quick-booking-form-w input#booking_start_date').val();\n  var selected_start_time = jQuery('.quick-booking-form-w input[name=\"booking[start_time][formatted_value]\"]').val();\n  var selected_start_time_ampm = jQuery('.quick-booking-form-w input[name=\"booking[start_time][ampm]\"]').val();\n  var selected_start_time_minutes = latepoint_hours_and_minutes_to_minutes(selected_start_time, selected_start_time_ampm);\n  jQuery('.quick-availability-per-day-w .os-availability-days').find('.agent-timeslot[data-formatted-date=\"'+ selected_start_date +'\"][data-minutes=\"' + selected_start_time_minutes + '\"]').addClass('selected');\n  jQuery('.quick-availability-per-day-w').on('click', '.load-more-quick-availability', function(){\n    latepoint_load_quick_availability(jQuery(this), false, jQuery(this).data('start-date'), true);\n    return false;\n  });\n  jQuery('.quick-availability-per-day-w').on('click', '.load-prev-quick-availability', function(){\n    latepoint_load_quick_availability(jQuery(this), false, jQuery(this).data('start-date'), false, true);\n    return false;\n  });\n  jQuery('.quick-availability-per-day-w select[name=\"booking[agent_id]\"]').on('change', function(){\n    latepoint_load_quick_availability(jQuery('.trigger-quick-availability'), jQuery(this).val());\n  });\n  jQuery('.os-time-group label').on('click', function(){\n    jQuery(this).closest('.os-time-group').find('.os-form-control').focus();\n  });\n  jQuery('.quick-availability-per-day-w').on('click', '.fill-booking-time', function(){\n    jQuery('.os-availability-days .agent-timeslot.selected').removeClass('selected');\n    jQuery(this).addClass('selected');\n    var date = jQuery(this).data('date');\n    var formatted_date = jQuery(this).data('formatted-date');\n    var minutes = jQuery(this).data('minutes');\n    var service_duration = jQuery('.os-services-select-field-w .service-option-selected').data('duration');\n    var $form_w = jQuery('.quick-booking-form-w');\n    $form_w.find('input[name=\"booking[start_date]\"]').val(formatted_date);\n    var start_minutes = minutes;\n    var start_hours_and_minutes = latepoint_minutes_to_hours_and_minutes(start_minutes);\n\n    if(start_minutes >= 720){\n      $form_w.find('.quick-start-time-w .time-pm').trigger('click');\n    }else{\n      $form_w.find('.quick-start-time-w .time-am').trigger('click');\n    }\n\n    $form_w.find('input[name=\"booking[start_time][formatted_value]\"]').val(start_hours_and_minutes);\n    latepoint_set_booking_end_time();\n    $form_w.find('.ws-period, .as-period').addClass('animate-filled-in');\n    setTimeout(function(){\n      $form_w.find('.ws-period, .as-period').removeClass('animate-filled-in');\n    }, 500)\n  });\n}\n\nfunction latepoint_reload_week_view_calendar(start_date = false){\n  var service_id = (jQuery('.cc-availability-toggler #overlay_service_availability').val() == 'on') ? jQuery('.calendar-service-selector').val() : false;\n  var agent_id = jQuery('.calendar-agent-selector').val();\n  var location_id = jQuery('.calendar-location-selector').val();\n  var calendar_start_date = (start_date) ? start_date : jQuery('.calendar-start-date').val();\n  latepoint_load_calendar(calendar_start_date, agent_id, location_id, service_id);\n}\n\nfunction latepoint_init_work_period_form(){\n  latepoint_mask_timefield(jQuery('.os-time-input-w .os-mask-time'));\n}\n\nfunction latepoint_close_side_panel(){\n  jQuery('.latepoint-side-panel-w').remove();\n}\n\nfunction reload_process_jobs_table(){\n  if(jQuery('table.os-reload-on-booking-update').length) latepoint_filter_table(jQuery('table.os-reload-on-booking-update'), jQuery('table.os-reload-on-booking-update'));\n}\n\nfunction latepoint_reload_after_booking_save(){\n  latepoint_reload_calendar_view();\n\n  jQuery('.os-widget').each(function(){\n    latepoint_reload_widget(jQuery(this));\n  });\n  if(jQuery('table.os-reload-on-booking-update').length) latepoint_filter_table(jQuery('table.os-reload-on-booking-update'), jQuery('table.os-reload-on-booking-update'));\n  latepoint_close_side_panel();\n}\n\nfunction latepoint_transaction_removed($trigger){\n  $trigger.closest('.quick-add-transaction-box-w').remove();\n  latepoint_reload_balance_and_payments();\n}\n\nfunction latepoint_init_quick_booking_form(){\n  jQuery('.latepoint-admin').on('click', '.quick-booking-form-view-log-btn', function(){\n    var $trigger_elem = jQuery(this);\n    $trigger_elem.addClass('os-loading');\n    var route = $trigger_elem.data('route');\n    var data = { action: 'latepoint_route_call', route_name: route, params: {booking_id: $trigger_elem.data('booking-id')}, return_format: 'json' }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $trigger_elem.removeClass('os-loading');\n        if(response.status === \"success\"){\n          if(jQuery('.latepoint-side-panel-w .side-sub-panel').length){\n            jQuery('.latepoint-side-panel-w .side-sub-panel').replaceWith(response.message);\n          }else{\n            jQuery('.latepoint-side-panel-w').append(response.message);\n          }\n        }else{\n          alert(response.message, 'error');\n        }\n      }\n    });\n    return false;\n  });\n\n\n  jQuery('.booking-quick-edit-form').on('submit', function(e){\n    if(jQuery(this).find('button[type=\"submit\"]').hasClass('os-loading')) return false;\n    e.preventDefault();\n    latepoint_submit_quick_booking_form();\n  });\n\n  var $quick_booking_form = jQuery('.quick-booking-form-w');\n  latepoint_lightbox_close();\n  latepoint_remove_floating_popup();\n  latepoint_init_input_masks($quick_booking_form);\n  $quick_booking_form.on(\"keydown\", \":input:not(textarea):not(:submit)\", function(event) {\n    if (event.key == \"Enter\") {\n        event.preventDefault();\n    }\n  });\n\n  jQuery('.os-late-select').lateSelect();\n  jQuery('.reload-price-breakdown').on('click', function(){\n    latepoint_reload_price_breakdown();\n    return false;\n  });\n\n  jQuery('.quick-booking-form-w').on('click', '.trigger-remove-transaction-btn', function(){\n    jQuery(this).closest('.quick-add-transaction-box-w').remove();\n    return false;\n  });\n\n  jQuery('.trigger-quick-availability').on('click', function(){\n    latepoint_load_quick_availability(jQuery('.open-quick-availability-btn'));\n    return false;\n  });\n  jQuery('.quick-booking-form-w input[name=\"booking[start_time][formatted_value]\"]').on('change', function(){\n    latepoint_set_booking_end_time();\n  });\n  jQuery('.quick-booking-form-w input[name=\"booking[end_time][formatted_value]\"]').on('change', function(){\n    latepoint_is_next_day();\n  });\n\n  jQuery('.customers-selector-search-input').on('keyup',function(){\n    var $queryInput = jQuery(this);\n    var query = $queryInput.val().toLowerCase();\n    if(query == $queryInput.data('current-query')) return;\n\n    // Search\n    $queryInput.closest('.customers-selector-search-w').addClass('os-loading');\n    $queryInput.data('searching-query', query);\n    setTimeout(function(){\n      if(query != jQuery('.customers-selector-search-input').data('searching-query')) return;\n      var data = { action: latepoint_helper.route_action, route_name: $queryInput.data('route'), params: {query: query}, return_format: 'json' }\n      jQuery.ajax({\n        type : \"post\",\n        dataType : \"json\",\n        url : latepoint_helper.ajaxurl,\n        data : data,\n        success: function(response){\n          if($queryInput.data('searching-query') != query) return;\n          $queryInput.closest('.customers-selector-search-w').removeClass('os-loading');\n          if(response.status === \"success\"){\n            $queryInput.data('current-query', query);\n            jQuery('.quick-booking-form-w .customers-options-list').html(response.message);\n          }else{\n            console.log(response.message);\n          }\n        }\n      });\n    }, 300, query, $queryInput);\n });\n\n\n\n  jQuery('.latepoint-side-panel-w').on('change', '.agent-selector', function(){\n    latepoint_apply_agent_selector_change();\n  });\n  jQuery('.latepoint-side-panel-w').on('change', 'select[name=\"booking[location_id]\"]', function(){\n    latepoint_apply_agent_selector_change();\n  });\n  jQuery('.latepoint-side-panel-w').on('change', 'select[name=\"booking[total_attendies]\"]', function(){\n    latepoint_apply_agent_selector_change();\n  });\n\n  jQuery('.latepoint-side-panel-w').on('change', '.os-affects-duration', function(){\n    latepoint_set_booking_end_time();\n    if(jQuery('.quick-availability-per-day-w').length){\n      latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n    }\n  });\n\n  jQuery('.latepoint-side-panel-w').on('change', '.os-affects-price', function(){\n    latepoint_reload_price_breakdown();\n  });\n\n  jQuery('.latepoint-side-panel-w').on('change', '.os-affects-balance', function(){\n    latepoint_reload_balance_and_payments();\n  });\n  jQuery('.latepoint-side-panel-w').on('keyup', '.os-affects-balance', function(event){\n    if(event.keyCode == 13) {\n      latepoint_reload_balance_and_payments();\n    }\n  });\n\n\n  jQuery('.latepoint-side-panel-w').on('click', '.services-options-list .service-option', function(){\n    var selected_option_html = jQuery(this).html();\n    var $selected_option = jQuery(this).closest('.os-services-select-field-w').find('.service-option-selected');\n    $selected_option.html(selected_option_html)\n                    .data('id', jQuery(this).data('id'))\n                    .data('duration', jQuery(this).data('duration'))\n                    .data('duration-name', jQuery(this).data('duration-name'))\n                    .data('buffer-before', jQuery(this).data('buffer-before'))\n                    .data('buffer-after', jQuery(this).data('buffer-after'))\n                    .data('capacity-min', jQuery(this).data('capacity-min'))\n                    .data('capacity-max', jQuery(this).data('capacity-max'))\n                    .data('extra-durations', jQuery(this).data('extra-durations'));\n    jQuery(this).closest('.os-services-select-field-w').find('.service-option.selected').removeClass('selected');\n    jQuery(this).addClass('selected').closest('.os-services-select-field-w').removeClass('active');\n    latepoint_apply_service_selector_change();\n    return false;\n  });\n\n  var $quick_booking_form = jQuery('.quick-booking-form-w');\n  $quick_booking_form.trigger('latepoint:initQuickBookingForm');\n\n}\n\n\nfunction latepoint_reload_widget($widget_elem){\n  var form_data = $widget_elem.find('select, input').serialize();\n  var data = { action: latepoint_helper.route_action, route_name: $widget_elem.data('os-reload-action'), params: form_data, return_format: 'json' }\n  $widget_elem.addClass('os-loading');\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(response){\n      $widget_elem.removeClass('os-loading');\n      if(response.status === \"success\"){\n        var $updated_widget_elem = jQuery(response.message);\n        $updated_widget_elem.removeClass('os-widget-animated');\n        $widget_elem = $widget_elem.replaceWith($updated_widget_elem);\n        latepoint_init_daterangepicker($updated_widget_elem.find('.os-date-range-picker'));\n        if($widget_elem.hasClass('os-widget-top-agents')) latepoint_init_circles_charts();\n        if($widget_elem.hasClass('os-widget-daily-bookings')){\n          latepoint_init_daily_bookings_chart();\n          latepoint_init_donut_charts();\n        }\n      }else{\n        alert(response.message);\n      }\n    }\n  });\n}\n\nfunction latepoint_load_calendar(target_date, agent_id, location_id = false, service_id = false){\n  var route_name = jQuery('.calendar-week-agent-w').data('calendar-action');\n  jQuery('.calendar-week-agent-w').addClass('os-loading');\n  var params_arr = {target_date: target_date, agent_id: agent_id};\n  if(location_id) params_arr.location_id = location_id;\n  if(service_id) params_arr.service_id = service_id;\n  var data = { action: latepoint_helper.route_action, route_name: route_name, params: jQuery.param(params_arr), return_format: 'json' }\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(response){\n      if(response.status === \"success\"){\n        jQuery('.calendar-week-agent-w').html(response.message).removeClass('os-loading');\n        jQuery('.calendar-load-target-date.os-loading').removeClass('os-loading');\n      }else{\n        alert(response.message);\n      }\n    }\n  });\n}\n\nfunction latepoint_init_quick_transaction_form(){\n  latepoint_mask_money(jQuery('.quick-add-transaction-box-w .os-mask-money'));\n}\n\nfunction latepoint_reload_price_breakdown(){\n  var $trigger =  jQuery('.reload-price-breakdown');\n  $trigger.addClass('os-loading');\n  var $quick_edit_form = $trigger.closest('form.booking-quick-edit-form');\n  var form_data = new FormData($quick_edit_form[0]);\n  var route = $trigger.data('route');\n\n  var data = { action: latepoint_helper.route_action, route_name: route, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(response){\n      $trigger.removeClass('os-loading');\n      if(response.status === \"success\"){\n        jQuery('.price-breakdown-wrapper').html(response.message);\n        latepoint_mask_money(jQuery('.price-breakdown-wrapper .os-mask-money'));\n        latepoint_reload_balance_and_payments();\n      }else{\n        alert(response.message);\n      }\n    }\n  });\n}\n\nfunction latepoint_complex_selector_select($connection_wrappers){\n  $connection_wrappers.each(function(){\n    jQuery(this).addClass('active');\n    jQuery(this).find('.connection-children-list li').addClass('active');\n    jQuery(this).find('.connection-child-is-connected').val('yes');\n    latepoint_count_active_connections(jQuery(this));\n  });\n}\n\nfunction latepoint_complex_selector_deselect($connection_wrappers){\n  $connection_wrappers.each(function(){\n    jQuery(this).removeClass('active');\n    jQuery(this).removeClass('show-customize-box');\n    jQuery(this).find('.connection-children-list li.active').removeClass('active');\n    jQuery(this).find('.connection-child-is-connected').val('no');\n    latepoint_count_active_connections(jQuery(this));\n  });\n}\n\n\nfunction latepoint_apply_agent_selector_change(){\n  if(jQuery('.quick-availability-per-day-w').length){\n    latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n  }\n}\n\nfunction latepoint_is_next_day(){\n  var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n  var start_time = $quick_edit_form.find('input[name=\"booking[start_time][formatted_value]\"]').val();\n  var start_time_ampm = $quick_edit_form.find('input[name=\"booking[start_time][ampm]\"]').val();\n  var start_time_minutes = latepoint_hours_and_minutes_to_minutes(start_time, start_time_ampm);\n  var end_time = $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').val();\n  var end_time_ampm = $quick_edit_form.find('input[name=\"booking[end_time][ampm]\"]').val();\n  var end_time_minutes = latepoint_hours_and_minutes_to_minutes(end_time, end_time_ampm);\n\n  if(end_time_minutes && (end_time_minutes <= start_time_minutes)){\n    $quick_edit_form.find('.quick-end-time-w').addClass('ending-next-day');\n  }else{\n    $quick_edit_form.find('.quick-end-time-w').removeClass('ending-next-day');\n  }\n}\n\nfunction latepoint_set_booking_end_time(){\n  var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n  var booking_duration = 0;\n  var service_duration = $quick_edit_form.find('.os-service-durations select').val();\n  booking_duration = booking_duration + service_duration;\n  if($quick_edit_form.find('select[name=\"temp_service_extras_ids\"] option:selected').length){\n    $quick_edit_form.find('select[name=\"temp_service_extras_ids\"] option:selected').each(function(){\n      var extra_duration = Number(jQuery(this).data('duration'));\n      var $extra_quantity_input = jQuery(this).closest('.lateselect-w').find('.ls-item[data-value=\"' + jQuery(this).val() + '\"]').find('.os-late-quantity-selector-input');\n      if($extra_quantity_input.length) extra_duration = Number(extra_duration) * Number($extra_quantity_input.val());\n      booking_duration = Number(booking_duration) + Number(extra_duration);\n    });\n  }\n\n  var start_time = $quick_edit_form.find('input[name=\"booking[start_time][formatted_value]\"]').val();\n\n  if(start_time){\n    var start_time_ampm = $quick_edit_form.find('input[name=\"booking[start_time][ampm]\"]').val();\n    var start_time_minutes = latepoint_hours_and_minutes_to_minutes(start_time, start_time_ampm);\n    var end_time_minutes = parseInt(start_time_minutes) + parseInt(booking_duration);\n    if(end_time_minutes >= (24 * 60)) end_time_minutes = (end_time_minutes - 24 * 60);\n    var end_time_ampm = (end_time_minutes >= 720 && end_time_minutes < (24 * 60)) ? 'pm' : 'am';\n    var end_hours_and_minutes = latepoint_minutes_to_hours_and_minutes(end_time_minutes);\n\n    $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').val(end_hours_and_minutes);\n    $quick_edit_form.find('.quick-end-time-w .time-ampm-select.time-' + end_time_ampm).trigger('click');\n    $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').closest('.os-form-group').addClass('has-value');\n  }\n  latepoint_is_next_day();\n}\n\nfunction latepoint_apply_service_selector_change(){\n\n  var $selected_service = jQuery('.os-services-select-field-w .service-option-selected');\n  var service_id = $selected_service.data('id');\n  var buffer_before = $selected_service.data('buffer-before');\n  var buffer_after = $selected_service.data('buffer-after');\n  var default_duration = $selected_service.data('duration');\n  var default_duration_name = $selected_service.data('duration-name');\n  var min_capacity = $selected_service.data('capacity-min');\n  var max_capacity = $selected_service.data('capacity-max');\n\n  var extra_durations = $selected_service.data('extra-durations');\n\n  var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n  $quick_edit_form.find('input[name=\"booking[buffer_before]\"]').val(buffer_before).trigger('change').closest('.os-form-group').addClass('has-value');\n  $quick_edit_form.find('input[name=\"booking[buffer_after]\"]').val(buffer_after).trigger('change').closest('.os-form-group').addClass('has-value');\n  $quick_edit_form.find('input[name=\"booking[service_id]\"]').val(service_id).trigger('change').closest('.os-form-group').addClass('has-value');\n\n  var duration_name = default_duration_name ? default_duration_name : (default_duration + ' ' + latepoint_helper.string_minutes);\n  var options = '<option value=\"'+ default_duration +'\">' + duration_name + '</option>';\n  if(extra_durations.length){\n    jQuery.each(extra_durations, function(index, value){\n      var duration_name = value.name ? value.name : value.duration + ' ' + latepoint_helper.string_minutes;\n      options+= '<option value=\"'+ value.duration +'\">' + duration_name + '</option>';\n    });\n    $quick_edit_form.find('.os-service-durations').show();\n  }else{\n    $quick_edit_form.find('.os-service-durations').hide();\n  }\n\n  jQuery('.booking-total-attendies-selector-w .capacity-info strong').text(max_capacity);\n  var attendies_options_html = '';\n  for(var i=1;i<=max_capacity;i++){\n    attendies_options_html+= '<option value=\"' + i + '\">' + i + '</option>';\n  }\n  var selected_attendies = Math.min(jQuery('.booking-total-attendies-selector-w select').val(), max_capacity);\n  jQuery('.booking-total-attendies-selector-w select').html(attendies_options_html).val(selected_attendies);\n  if(max_capacity > 1){\n    jQuery('.booking-total-attendies-selector-w').show();\n  }else{\n    jQuery('.booking-total-attendies-selector-w').hide();\n  }\n\n  $quick_edit_form.find('.os-service-durations select').html(options);\n\n  latepoint_set_booking_end_time();\n  if(jQuery('.quick-availability-per-day-w').length){\n    latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n  }\n\n  latepoint_init_input_masks($quick_edit_form);\n}\n\n\nfunction latepoint_init_sortable_columns(){\n  jQuery('.os-sortable-column').on('click', function(){\n    let current_direction = jQuery(this).hasClass('ordered-desc') ? 'desc' : 'asc';\n    let new_direction = (current_direction == 'desc') ? 'asc' : 'desc';\n    jQuery(this).closest('table').find('.os-sortable-column').removeClass('ordered-desc').removeClass('ordered-asc');\n    jQuery(this).addClass('ordered-' + new_direction);\n\n    jQuery(this).closest('table').find('.records-ordered-by-key').val(jQuery(this).data('order-key'));\n    jQuery(this).closest('table').find('.records-ordered-by-direction').val(new_direction);\n    latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n    return false;\n  });\n}\nfunction latepoint_random_text(length){\n   var result           = '';\n   var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n   var charactersLength = characters.length;\n   for ( var i = 0; i < length; i++ ) {\n      result += characters.charAt(Math.floor(Math.random() * charactersLength));\n   }\n   return result;\n}\n\nfunction latepoint_get_order_for_service_categories(){\n\n}\n\n\nfunction latepoint_init_daterangepicker($elem){\n  $elem.each(function(){\n    // DATERANGEPICKER\n    var picker_start_time = jQuery(this).find('input[name=\"date_from\"], .os-datepicker-date-from').val();\n    var picker_end_time = jQuery(this).find('input[name=\"date_to\"], .os-datepicker-date-to').val();\n    var locale = {};\n    if(jQuery(this).data('can-be-cleared')) locale = { cancelLabel: jQuery(this).data('clear-btn-label')};\n\n\n    moment.locale(latepoint_helper.wp_locale);\n\n    jQuery(this).daterangepicker({\n      opens: 'center',\n      singleDatePicker: (jQuery(this).data('single-date') == 'yes'),\n      startDate: (picker_start_time) ? moment(picker_start_time) : moment(),\n      endDate: (picker_end_time) ? moment(picker_end_time) : moment(),\n      locale: locale\n    });\n  });\n\n  $elem.on('cancel.daterangepicker', function(ev, picker) {\n    if(picker.element.data('can-be-cleared')){\n      picker.element.find('input[name=\"date_from\"], .os-datepicker-date-from').val('');\n      picker.element.find('input[name=\"date_to\"], .os-datepicker-date-to').val('');\n      picker.element.find('span.range-picker-value').text(picker.element.data('no-value-label'));\n      if(picker.element.hasClass('os-table-filter-datepicker')){\n        latepoint_filter_table(picker.element.closest('table'), picker.element.closest('.os-form-group'));\n      }\n    }\n  });\n\n  $elem.on('apply.daterangepicker', function(ev, picker) {\n    if(picker.element.data('single-date') == 'yes'){\n      picker.element.find('.range-picker-value').text(picker.startDate.format('ll'));\n    }else{\n      picker.element.find('.range-picker-value').text(picker.startDate.format('ll') + ' - ' + picker.endDate.format('ll'));\n    }\n    picker.element.find('input[name=\"date_from\"], .os-datepicker-date-from').attr('value', picker.startDate.format('YYYY-MM-DD'));\n    picker.element.find('input[name=\"date_to\"], .os-datepicker-date-to').attr('value', picker.endDate.format('YYYY-MM-DD'));\n    if(picker.element.closest('.os-widget').length){\n      latepoint_reload_widget(picker.element.closest('.os-widget'));\n    }\n    if(picker.element.hasClass('os-table-filter-datepicker')){\n      latepoint_filter_table(picker.element.closest('table'), picker.element.closest('.os-form-group'));\n    }\n  });\n}\n\nfunction latepoint_recalculate_items_count_in_category(){\n  jQuery('.os-category-items-count').each(function(){\n    var number_of_items = jQuery(this).closest('.os-category-parent-w').find('.item-in-category-w').length;\n    jQuery(this).find('span').text(number_of_items);\n  });\n}\n\nfunction latepoint_remove_agent_box($remove_btn){\n  var $agent_box = $remove_btn.closest('.agent-box-w');\n  $agent_box.fadeOut(300, function(){ jQuery(this).remove(); });\n}\n\nfunction latepoint_remove_service_box($remove_btn){\n  var $service_box = $remove_btn.closest('.service-box-w');\n  $service_box.fadeOut(300, function(){ jQuery(this).remove(); });\n}\n\nfunction latepoint_init_monthly_view(){\n  if(!jQuery('.calendar-month-agents-w').length) return;\n\n  jQuery('.monthly-calendar-headers select').on('change', function(){\n    var $calendar = jQuery('.calendar-month-agents-w');\n    var route_name = $calendar.data('route');\n    $calendar.addClass('os-loading');\n    var params = { month: jQuery('#monthly_calendar_month_select').val(), year: jQuery('#monthly_calendar_year_select').val() };\n    if(jQuery('#monthly_calendar_location_select').length && jQuery('#monthly_calendar_location_select').val()) params.location_id = jQuery('#monthly_calendar_location_select').val();\n    if(jQuery('#monthly_calendar_service_select').length && jQuery('#monthly_calendar_service_select').val()) params.service_id = jQuery('#monthly_calendar_service_select').val();\n    var data = { action: latepoint_helper.route_action, route_name: route_name, params: params, layout: 'none', return_format: 'json' }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $calendar.removeClass('os-loading');\n        if(data.status === \"success\"){\n          $calendar.html(data.message);\n        }else{\n          // console.log(data.message);\n        }\n      }\n    });\n  });\n}\n\n\nfunction latepoint_init_copy_on_click_elements(){\n\n  jQuery('.os-click-to-copy').on('mouseenter', function() {\n    var $this = jQuery(this);\n    var position_info = $this.offset();\n    var width = jQuery(this).outerWidth();\n    var position_left = position_info.left + width + 5;\n    var position_top = position_info.top + 2 - jQuery(window).scrollTop();\n    if($this.data('copy-tooltip-position') == 'left'){\n      position_left = position_left - width - 5;\n      position_top = position_top + $this.outerHeight() - jQuery(window).scrollTop();;\n    }\n    jQuery('body').append('<div class=\"os-click-to-copy-prompt\" style=\"top: '+position_top+'px; left: '+position_left+'px;\">' + latepoint_helper.click_to_copy_prompt + '</div>');\n  }).on('mouseleave', function() {\n    jQuery('body').find('.os-click-to-copy-prompt').remove();\n  });\n  jQuery('.os-click-to-copy').on('click', function(){\n    var $this = jQuery(this);\n    jQuery('body').find('.os-click-to-copy-prompt').hide();\n    var $tempElement = jQuery(\"<input>\");\n    jQuery(\"body\").append($tempElement);\n    var text_to_copy = $this.is('input') ? $this.val() : $this.text();\n    $tempElement.val(text_to_copy).trigger('select');\n    document.execCommand(\"Copy\");\n    $tempElement.remove();\n\n    var position_info = $this.offset();\n    var width = $this.outerWidth();\n    var position_left = position_info.left + width + 5;\n    var position_top = position_info.top + 3 - jQuery(window).scrollTop();;\n\n    if($this.data('copy-tooltip-position') == 'left'){\n      position_left = position_left - width - 5;\n      position_top = position_top + $this.outerHeight() - jQuery(window).scrollTop();;\n    }\n    var $done_prompt = jQuery('<div class=\"os-click-to-copy-done\" style=\"top: '+position_top+'px; left: '+position_left+'px;\">' + latepoint_helper.click_to_copy_done + '</div>');\n    $done_prompt.appendTo(jQuery('body')).animate({\n      opacity: 0,\n      left: (position_left + 20),\n    }, 600);\n    setTimeout(function(){\n      jQuery('body').find('.os-click-to-copy-done').remove();\n      jQuery('body').find('.os-click-to-copy-prompt').show();\n    }, 800);\n  });\n}\n\nfunction latepoint_remove_floating_popup(){\n  jQuery('.os-showing-popup').removeClass('os-showing-popup');\n  jQuery('.os-floating-popup').remove();\n}\n\nfunction latepoint_init_clickable_cells(){\n  jQuery('.os-clickable-popup-trigger').on('click', function(){\n    var $this = jQuery(this);\n    var position = $this.offset();\n    var width = $this.outerWidth();\n    var $popup = jQuery('<div class=\"os-floating-popup os-loading\"></div>');\n    if($this.hasClass('os-showing-popup')){\n      latepoint_remove_floating_popup();\n    }else{\n      latepoint_remove_floating_popup();\n      $popup.offset({top: position.top, left: (position.left + width/2)});\n      jQuery('body').append($popup);\n      $this.addClass('os-showing-popup');\n\n      var route = $this.data('route');\n      var params = $this.data('os-params');\n      var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n      jQuery.ajax({\n        type : \"post\",\n        dataType : \"json\",\n        url : latepoint_helper.ajaxurl,\n        data : data,\n        success: function(response){\n          if(response.status === latepoint_helper.response_status.success){\n            jQuery('body').find('.os-floating-popup').html(response.message).removeClass('os-loading');\n            latepoint_init_customer_donut_chart();\n            jQuery('.os-floating-popup .os-floating-popup-close').on('click', function(){\n              latepoint_remove_floating_popup();\n              return false;\n            });\n          }else{\n\n          }\n        }\n      });\n    }\n    return false;\n  });\n}\n\nfunction latepoint_init_tiny_mce(element_id){\n  // TODO CHECK IF wp.editor is defined\n  if(typeof wp !== 'undefined' && typeof wp.editor !== 'undefined' && jQuery('#'+ element_id).length){\n    wp.editor.remove(element_id);\n    wp.editor.initialize(element_id,\n      {\n        tinymce: {\n          wpautop: false,\n          toolbar1: 'formatselect alignjustify forecolor | bold italic underline strikethrough | bullist numlist | blockquote hr | alignleft aligncenter alignright | link unlink | pastetext removeformat | outdent indent | undo redo',\n          height : \"480\",\n        },\n        quicktags: true,\n        mediaButtons: true,\n      }\n    );\n  }\n}\n\nfunction latepoint_init_reminder_form(){\n  latepoint_init_tiny_mce(jQuery('.os-reminder-form:last-child textarea').attr('id'));\n}\n\nfunction latepoint_filter_table($table, $filter_elem, reset_page = true){\n  $filter_elem.addClass('os-loading');\n  var filter_params = $table.find('.os-table-filter').serialize();\n  var $table_w = $table.closest('.table-with-pagination-w');\n  if(reset_page){\n    $table_w.find('select.pagination-page-select').val(1);\n  }else{\n    filter_params+= '&page_number='+$table_w.find('select.pagination-page-select').val();\n  }\n  var route = $table.data('route');\n  var data = { action: latepoint_helper.route_action, route_name: route, params: filter_params, layout: 'none', return_format: 'json' };\n  jQuery.ajax({\n    type : \"post\",\n    dataType : \"json\",\n    url : latepoint_helper.ajaxurl,\n    data : data,\n    success: function(data){\n      $filter_elem.removeClass('os-loading');\n      if(data.status === \"success\"){\n        $table.find('tbody').html(data.message);\n        if(data.total_pages && reset_page){\n          var options = '';\n          for(var i = 1; i <= data.total_pages; i++){\n            options+= '<option>'+ i +'</option>';\n          }\n          $table_w.find('select.pagination-page-select').html(options);\n        }\n        $table_w.find('.os-pagination-from').text(data.showing_from);\n        $table_w.find('.os-pagination-to').text(data.showing_to);\n        $table_w.find('.os-pagination-total').text(data.total_records);\n        latepoint_init_clickable_cells();\n      }else{\n        // console.log(data.message);\n      }\n    }\n  });\n}\n\nfunction latepoint_init_wizard_content(){\n  latepoint_init_input_masks(jQuery('.os-wizard-step-content'));\n}\n\nfunction latepoint_init_input_masks($scoped_element = false){\n  let $wrapper = $scoped_element ? $scoped_element : jQuery('body');\n  latepoint_mask_timefield($wrapper.find('.os-mask-time'));\n\n  $wrapper.find('.os-mask-phone').each(function(){\n    latepoint_mask_phone(jQuery(this));\n  });\n\n  latepoint_mask_money($wrapper.find('.os-mask-money'));\n  latepoint_mask_date($wrapper.find('.os-mask-date'));\n  latepoint_mask_minutes($wrapper.find('.os-mask-minutes'));\n\n  $wrapper.trigger('latepoint:initInputMasks');\n}\n\n","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\n\nfunction latepoint_init_daily_bookings_chart() {\n  if (typeof Chart === 'undefined' || !jQuery('#chartDailyBookings').length) return\n\n  let $dailyBookingsChart = jQuery('#chartDailyBookings');\n  let dailyBookingsLabels = $dailyBookingsChart.data('chart-labels').toString().split(',');\n  let dailyBookingsValues = $dailyBookingsChart.data('chart-values').toString().split(',').map(Number);\n  let dailyBookingsChartMax = Math.max.apply(Math, dailyBookingsValues);\n  // calculate max Y to have space for a tooltip\n  let canvasHeight = 200\n  let spaceForTooltip = 160\n  let maxValue = dailyBookingsChartMax + spaceForTooltip * dailyBookingsChartMax / canvasHeight + 1\n\n\n  var fontFamily = latepoint_helper.font_family;\n\n  Chart.Tooltip.positioners.top = function (items) {\n    const pos = Chart.Tooltip.positioners.average(items);\n\n    // Happens when nothing is found\n    if (pos === false) {\n      return false;\n    }\n\n    const chart = this.chart;\n\n    return {\n      x: pos.x,\n      y: chart.chartArea.top,\n      xAlign: 'center',\n      yAlign: 'bottom',\n    };\n  };\n\n  Chart.defaults.defaultFontFamily = fontFamily;\n  Chart.defaults.defaultFontSize = 18;\n  Chart.defaults.defaultFontStyle = '400';\n  Chart.defaults.plugins.tooltip.titleFont = {\n    family: fontFamily,\n    size: 14,\n    color: 'rgba(255,255,255,0.6)',\n    style: 'normal',\n    weight: 400\n  }\n\n  Chart.defaults.plugins.tooltip.titleFont = {family: fontFamily, size: 14, weight: 400};\n  Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n  Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n  Chart.defaults.plugins.tooltip.titleMarginBottom = 5;\n  Chart.defaults.plugins.tooltip.bodyFont = {family: fontFamily, size: 24, weight: 700, lineHeight: 0.8};\n  Chart.defaults.plugins.tooltip.displayColors = false;\n  Chart.defaults.plugins.tooltip.padding = 10;\n  Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n  Chart.defaults.plugins.tooltip.xAlign = 'center';\n  Chart.defaults.plugins.tooltip.cornerRadius = 4;\n  Chart.defaults.plugins.tooltip.caretSize = 5;\n  Chart.defaults.plugins.tooltip.position = 'top';\n\n  var ctx = $dailyBookingsChart[0].getContext(\"2d\");\n  var gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);\n  gradientStroke.addColorStop(0, '#1d7bff');\n  gradientStroke.addColorStop(1, '#1d7bff');\n\n\n  let gradientFill = ctx.createLinearGradient(0, 0, 0, 140);\n  gradientFill.addColorStop(0, 'rgb(206,224,255, 0.4)');\n  gradientFill.addColorStop(1, 'rgba(206,224,255,0)');\n\n  // line chart data\n  var chartDailyBookingsData = {\n    labels: dailyBookingsLabels,\n    datasets: [{\n      backgroundColor: gradientFill,\n      borderColor: gradientStroke,\n      label: \"\",\n      fill: true,\n      lineTension: 0.1,\n      borderWidth: 2,\n      borderCapStyle: 'butt',\n      borderDash: [],\n      borderDashOffset: 0.0,\n      borderJoinStyle: 'miter',\n      pointBorderColor: \"#fff\",\n      pointBackgroundColor: \"#1D7BFF\",\n      pointRadius: 3,\n      pointBorderWidth: 2,\n      pointHoverRadius: 6,\n      pointHoverBorderWidth: 4,\n      pointHoverBackgroundColor: \"#1D7BFF\",\n      pointHoverBorderColor: \"#aecdff\",\n      pointHitRadius: 20,\n      spanGaps: false,\n      data: dailyBookingsValues,\n    }]\n  };\n\n\n  let options = {\n    animation: false,\n    layout: {\n      padding: {\n        top: 0\n      }\n    },\n    interaction: {\n      mode: 'index',\n      intersect: false,\n    },\n    maintainAspectRatio: false,\n    plugins: {\n      verticalLiner: {},\n      legend: {\n        display: false\n      },\n    },\n    scales: {\n      x: {\n        display: true,\n        ticks: {\n          maxRotation: 0,\n          fontSize: '10',\n          fontColor: '#000',\n          callback: function (value, index, ticks) {\n            if(ticks.length){\n              return ((index + 2) % Math.round(ticks.length/8)) ? '' : this.getLabelForValue(value)\n            }else{\n              return this.getLabelForValue(value)\n            }\n          }\n        },\n        grid: {\n          borderDash: [1, 5],\n          color: 'rgba(0,0,0,0.35)',\n          zeroLineColor: 'rgba(0,0,0,0.15)',\n        },\n      },\n      y: {\n        max: maxValue,\n        grid: {\n          color: 'rgba(0,0,0,0.05)',\n          zeroLineColor: 'rgba(0,0,0,0.05)',\n        },\n        display: false,\n        ticks: {\n          beginAtZero: true,\n          fontSize: '10',\n          fontColor: '#000'\n        }\n      }\n\n    }\n  }\n\n  const plugin = {\n    id: 'verticalLiner',\n    afterInit: (chart, args, opts) => {\n      chart.verticalLiner = {}\n    },\n    afterEvent: (chart, args, options) => {\n      const {inChartArea} = args\n      chart.verticalLiner = {draw: inChartArea}\n    },\n    beforeTooltipDraw: (chart, args, options) => {\n      const {draw} = chart.verticalLiner\n      if (!draw) return\n\n      const {ctx} = chart\n      const {top, bottom} = chart.chartArea\n      const {tooltip} = args\n      const x = tooltip?.caretX\n      if (!x) return\n\n      ctx.save()\n\n      ctx.beginPath()\n      ctx.moveTo(x, top)\n      ctx.lineTo(x, bottom)\n      ctx.stroke()\n\n      ctx.restore()\n    }\n  }\n\n  // line chart init\n  let chartDailyBookings = new Chart($dailyBookingsChart, {\n    type: 'line',\n    data: chartDailyBookingsData,\n    options: options,\n    plugins: [plugin],\n  });\n}\n\n\nfunction latepoint_init_customer_donut_chart() {\n  if (typeof Chart !== 'undefined' && jQuery('.os-customer-donut-chart').length) {\n    var fontFamily = latepoint_helper.font_family;\n    // set defaults\n    Chart.defaults.defaultFontFamily = fontFamily;\n    Chart.defaults.defaultFontSize = 16;\n    Chart.defaults.defaultFontStyle = '400';\n\n    Chart.defaults.plugins.tooltip.titleFont = {family: fontFamily, size: 14, weight: 400};\n    Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n    Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n    Chart.defaults.plugins.tooltip.titleMarginBottom = 1;\n    Chart.defaults.plugins.tooltip.bodyFont = {family: fontFamily, size: 18, weight: 500};\n    Chart.defaults.plugins.tooltip.displayColors = false;\n    Chart.defaults.plugins.tooltip.padding = 5;\n    Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n    Chart.defaults.plugins.tooltip.xAlign = 'center';\n    Chart.defaults.plugins.tooltip.cornerRadius = 4;\n    Chart.defaults.plugins.tooltip.intersect = false;\n    jQuery('.os-customer-donut-chart').each(function (index) {\n      var chart_colors = jQuery(this).data('chart-colors').toString().split(',');\n      var chart_labels = jQuery(this).data('chart-labels').toString().split(',');\n      var chart_values = jQuery(this).data('chart-values').toString().split(',').map(Number);\n      var $chart_canvas = jQuery(this);\n      var chartDonut = new Chart($chart_canvas, {\n        type: 'doughnut',\n        data: {\n          labels: chart_labels,\n          datasets: [{\n            data: chart_values,\n            backgroundColor: chart_colors,\n            hoverBackgroundColor: chart_colors,\n            borderWidth: 0,\n            hoverBorderColor: 'transparent'\n          }]\n        },\n        options: {\n          layout: {\n            padding: {\n              top: 10,\n              bottom: 10,\n              left: 10,\n              right: 10\n            }\n          },\n          plugins: {\n            legend: {\n              display: false\n            },\n            tooltip: {\n              callbacks: {\n                title: function (tooltipItem) {\n                  return tooltipItem[0].label;\n                },\n                label: function (tooltipItem) {\n                  return tooltipItem.parsed;\n                },\n              }\n            },\n          },\n          animation: {\n            animateRotate: false\n          },\n          cutout: \"90%\",\n          responsive: false,\n          maintainAspectRatio: true,\n        }\n      });\n    });\n  }\n}\n\nfunction latepoint_init_donut_charts() {\n  if (typeof Chart !== 'undefined' && jQuery('.os-donut-chart').length) {\n    var fontFamily = latepoint_helper.font_family;\n    // set defaults\n    Chart.defaults.defaultFontFamily = fontFamily;\n    Chart.defaults.defaultFontSize = 18;\n    Chart.defaults.defaultFontStyle = '400';\n\n    Chart.defaults.plugins.tooltip.titleFont.family = fontFamily;\n    Chart.defaults.plugins.tooltip.titleFont.size = 14;\n    Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n    Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n    Chart.defaults.plugins.tooltip.titleFont.style = '400';\n    Chart.defaults.plugins.tooltip.titleMarginBottom = 1;\n    Chart.defaults.plugins.tooltip.bodyFont.family = fontFamily;\n    Chart.defaults.plugins.tooltip.bodyFont.size = 24;\n    Chart.defaults.plugins.tooltip.bodyFont.style = '500';\n    Chart.defaults.plugins.tooltip.displayColors = false;\n    Chart.defaults.plugins.tooltip.padding.x = 10;\n    Chart.defaults.plugins.tooltip.padding.y = 8;\n    Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n    Chart.defaults.plugins.tooltip.xAlign = 'center';\n    Chart.defaults.plugins.tooltip.cornerRadius = 8;\n    Chart.defaults.plugins.tooltip.intersect = false;\n    jQuery('.os-donut-chart').each(function (index) {\n      var chart_colors = jQuery(this).data('chart-colors').toString().split(',');\n      var chart_labels = jQuery(this).data('chart-labels').toString().split(',');\n      var chart_values = jQuery(this).data('chart-values').toString().split(',').map(Number);\n      var $chart_canvas = jQuery(this);\n      var chartDonut = new Chart($chart_canvas, {\n        type: 'doughnut',\n        data: {\n          labels: chart_labels,\n          datasets: [{\n            data: chart_values,\n            backgroundColor: chart_colors,\n            hoverBackgroundColor: chart_colors,\n            borderWidth: 0,\n            hoverBorderColor: 'transparent'\n          }]\n        },\n        options: {\n          layout: {\n            padding: {\n              top: 40\n            }\n          },\n          plugins: {\n            legend: {\n              display: false\n            },\n            tooltip: {\n              callbacks: {\n                title: function (tooltipItem, data) {\n                  return data['labels'][tooltipItem[0]['index']];\n                },\n                label: function (tooltipItem, data) {\n                  return data['datasets'][0]['data'][tooltipItem['index']];\n                }\n              }\n            }\n          },\n          animation: {\n            animateScale: true\n          },\n          cutoutPercentage: 96,\n          responsive: false,\n          maintainAspectRatio: true,\n        }\n      });\n    });\n  }\n}\n\n\nfunction latepoint_init_circles_charts() {\n  jQuery('.circle-chart').each(function (index) {\n    var chart_elem_id = jQuery(this).prop('id');\n    var max_value = jQuery(this).data('max-value');\n    var chart_value = jQuery(this).data('chart-value');\n    var chart_color = jQuery(this).data('chart-color');\n    var chart_color_fade = jQuery(this).data('chart-color-fade');\n    var myCircle = Circles.create({\n      id: chart_elem_id,\n      radius: 25,\n      value: chart_value,\n      maxValue: max_value,\n      width: 2,\n      text: function (value) {\n        return Math.round(value);\n      },\n      colors: [chart_color, chart_color_fade],\n      duration: 200,\n      wrpClass: 'circles-wrp',\n      textClass: 'circles-text',\n      valueStrokeClass: 'circles-valueStroke',\n      maxValueStrokeClass: 'circles-maxValueStroke',\n      styleWrapper: true,\n      styleText: true\n    });\n\n  });\n\n\n}\n","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_check_horizontal_calendar_scroll(){\n  if(jQuery('.daily-availability-calendar.horizontal-calendar').length){\n    if(jQuery('.daily-availability-calendar.horizontal-calendar').width() < 700){\n      jQuery('.daily-availability-calendar.horizontal-calendar').scrollLeft(jQuery('.os-day.selected').index() * jQuery('.os-day.selected').width());\n    }\n  }\n}\n\nfunction latepoint_init_calendars(){\n  latepoint_check_horizontal_calendar_scroll();\n  jQuery('.os-calendar-settings-extra .latecheckbox').lateCheckbox();\n\n\n  jQuery('.calendar-settings-toggler').on('click', function(){\n    jQuery('.os-calendar-settings-form').toggleClass('show-extra-settings');\n    return false;\n  });\n\n  jQuery('.os-calendar-settings-form').on('change', 'select[name=\"calendar_settings[view]\"]', function(){\n    jQuery(this).closest('.calendar-wrapper').attr('data-view', jQuery(this).val());\n  });\n\n  jQuery('.os-calendar-settings-form').on('change', 'select, input, .latecheckbox ', function(){\n    latepoint_reload_calendar_view();\n  });\n\n\n  jQuery('.calendar-view-wrapper').on('click', '.weekly-calendar-agent-selector', function(){\n    jQuery('.weekly-calendar-agent-selector.selected').removeClass('selected');\n    jQuery(this).addClass('selected');\n    jQuery('.os-calendar-settings-form input[name=\"calendar_settings[selected_agent_id]\"]').val(jQuery(this).data('agent-id'));\n    jQuery('.agent-weekly-calendar.selected').removeClass('selected');\n    jQuery('.agent-weekly-calendar[data-agent-id=\"'+jQuery(this).data('agent-id')+'\"]').addClass('selected');\n    return false;\n  });\n\n  jQuery('.calendar-view-wrapper').on('click', '.daily-calendar-action-navigation-btn', function(){\n    jQuery(this).addClass('os-loading');\n    jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('target-date')).trigger('change');\n    return false;\n  });\n\n  jQuery('.calendar-view-wrapper').on('click', '.daily-availability-calendar .os-day', function(){\n    jQuery('.os-monthly-calendar-days-w .os-day.selected').removeClass('selected');\n    jQuery(this).addClass('selected');\n    jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('date')).trigger('change');\n    return false;\n  });\n\n\n  jQuery('.os-calendar-today-btn').on('click', function(){\n    jQuery(this).addClass('os-loading');\n    jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('target-date')).trigger('change');\n    return false;\n  });\n\n  jQuery('.os-calendar-prev-btn').on('click', function(){\n    jQuery(this).addClass('os-loading');\n    jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery('input[name=\"prev_target_date\"]').val()).trigger('change');\n    return false;\n  });\n\n  jQuery('.os-calendar-next-btn').on('click', function(){\n    jQuery(this).addClass('os-loading');\n    jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery('input[name=\"next_target_date\"]').val()).trigger('change');\n    return false;\n  });\n}\n\nfunction latepoint_reload_calendar_view(){\n  let $calendar_wrapper = jQuery('.calendar-view-wrapper');\n  if(!$calendar_wrapper.length) return;\n  $calendar_wrapper.addClass('os-loading');\n\n  let calendar_settings = new FormData(jQuery('form.os-calendar-settings-form')[0]);\n\n  let data = new FormData();\n  data.append('params', latepoint_formdata_to_url_encoded_string(calendar_settings));\n  data.append('action', latepoint_helper.route_action);\n  data.append('route_name', $calendar_wrapper.data('route'));\n  data.append('return_format', 'json');\n\n  jQuery.ajax({\n    type: \"post\",\n    dataType: \"json\",\n    processData: false,\n    contentType: false,\n    url: latepoint_helper.ajaxurl,\n    data: data,\n    success: function (response) {\n      if (response.status === \"success\") {\n        $calendar_wrapper.html(response.message).removeClass('os-loading');\n        jQuery('.os-calendar-today-btn, .os-calendar-prev-btn, .os-calendar-next-btn').removeClass('os-loading');\n        jQuery('.os-current-month-label .current-month').text(response.top_date_label);\n        latepoint_check_horizontal_calendar_scroll();\n      }\n    }\n  });\n\n}","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_process_updated(){\n  location.reload();\n}\n\nfunction latepoint_process_action_removed($elem){\n  $elem.closest('.os-form-block').remove();\n}\n\nfunction latepoint_replace_process_condition_element($trigger, params, $target, callback = null){\n    let route_name = $trigger.data('route');\n    let data = {  action: latepoint_helper.route_action, route_name: route_name, params: params, return_format: 'json' }\n    jQuery.ajax({\n      type: 'post',\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: (response) => {\n        if(response.status === latepoint_helper.response_status.success){\n          $target.html(response.message);\n          latepoint_init_process_conditions_form();\n          if (typeof callback === 'function') {\n            callback();\n          }\n        }else{\n          alert(\"Error!\");\n        }\n      }\n    });\n}\n\n\nfunction latepoint_init_process_forms(){\n  latepoint_init_process_conditions_form();\n\n  jQuery('.os-processes-w').on('click', '.os-run-process', function(){\n    let $btn = jQuery(this);\n    $btn.addClass('os-loading');\n    let $process_form = $btn.closest('.os-process-form');\n    // remove previously assigned class on other forms\n    jQuery('.os-process-form.prepared-to-run').removeClass('prepared-to-run');\n    // add class so we know which form is about to be processed\n    $process_form.addClass('prepared-to-run');\n\n\n\n    let form_data = new FormData($process_form[0]);\n    form_data.set('process_event_type', $process_form.closest('.os-process-form').find('.process-event-type-selector').val());\n\n\n    let data = new FormData();\n    data.append('params', latepoint_formdata_to_url_encoded_string(form_data));\n    data.append('action', latepoint_helper.route_action);\n    data.append('route_name', $btn.data('route'));\n    data.append('return_format', 'json');\n\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      processData: false,\n      contentType: false,\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        latepoint_show_data_in_lightbox(data.message, 'width-800');\n        latepoint_init_process_test_form();\n        $btn.removeClass('os-loading');\n      }\n    });\n    return false;\n  });\n\n  jQuery('.os-processes-w').find('.process-action-form').each(function(index){\n    latepoint_init_process_action_form(jQuery(this));\n  });\n\n  jQuery('.os-processes-w').on('click', '.pe-remove-condition', (event) => {\n    if(jQuery(event.currentTarget).closest('.pe-conditions').find('.pe-condition').length  > 1){\n      jQuery(event.currentTarget).closest('.pe-condition').remove();\n    }else{\n      alert('You need to have at least one condition if your custom field is set to be conditional.')\n    }\n    return false;\n  });\n\n\n  jQuery('.os-processes-w').on('change', 'select.process-condition-operator-selector', (event) => {\n    let $select = jQuery(event.currentTarget);\n    if($select.val() == 'changed' || $select.val() == 'not_changed'){\n      $select.closest('.pe-condition').find('.process-condition-values-w').hide();\n    }else{\n      $select.closest('.pe-condition').find('.process-condition-values-w').show();\n    }\n  });\n\n  jQuery('.os-processes-w').on('change', 'select.process-event-type-selector', (event) => {\n    let $select = jQuery(event.currentTarget);\n    latepoint_replace_process_condition_element($select, { event_type: $select.val() }, $select.closest('.os-form-block').find('.process-event-condition-wrapper'));\n  });\n\n  jQuery('.os-processes-w').on('change', 'select.process-condition-object-selector', (event) => {\n    let $select = jQuery(event.currentTarget);\n    let $property_selector = $select.closest('.pe-condition').find('.process-condition-properties-w select');\n    latepoint_replace_process_condition_element($select, { object_code: $select.val() }, $property_selector, () => { $property_selector.trigger('change'); });\n  });\n\n  jQuery('.os-processes-w').on('change', 'select.process-condition-property-selector', (event) => {\n    let $select = jQuery(event.currentTarget);\n    let $operator_selector = $select.closest('.pe-condition').find('.process-condition-operators-w select');\n    latepoint_replace_process_condition_element($select, { property: $select.val() }, $operator_selector, () => { $operator_selector.trigger('change'); });\n  });\n\n  jQuery('.os-processes-w').on('change', 'select.process-condition-operator-selector', (event) => {\n    let $select = jQuery(event.currentTarget);\n    latepoint_replace_process_condition_element($select, { property: $select.closest('.pe-condition').find('select.process-condition-property-selector').val(), trigger_condition_id: $select.closest('.pe-condition').data('condition-id'), operator: $select.val() }, $select.closest('.pe-condition').find('.process-condition-values-w'));\n  });\n\n}\n\nfunction latepoint_init_process_conditions_form(){\n  jQuery('.os-late-select').lateSelect();\n}\n\nfunction latepoint_add_process_condition($btn, response){\n  $btn.closest('.pe-condition').after(response.message);\n  latepoint_init_process_conditions_form();\n}\n\nfunction latepoint_init_added_process_action_form($trigger){\n  let $action_form = $trigger.prev('.process-action-form');\n  $action_form.addClass('is-editing');\n  latepoint_init_process_action_form($action_form);\n}\n\nfunction latepoint_init_process_test_form(){\n\n  jQuery('.latepoint-run-process-btn').on('click', function(){\n    let $btn = jQuery(this);\n    if($btn.hasClass('os-loading')) return false;\n    $btn.addClass('os-loading');\n    let $test_action_form = jQuery('.latepoint-lightbox-content .action-settings-wrapper');\n\n\n    let form_data = new FormData(jQuery('.os-process-form.prepared-to-run')[0]);\n\n    // set data sources\n    jQuery('.process-test-data-source-selector').each(function(){\n      form_data.set(jQuery(this).prop('name'), jQuery(this).val());\n    });\n\n    // set selected actions\n    jQuery('.process-test-data-source-selector').each(function(){\n      form_data.set(jQuery(this).prop('name'), jQuery(this).val());\n    });\n\n    let action_ids_to_run = [];\n    jQuery('.action-to-run input[type=\"hidden\"]').each(function(){\n      if(jQuery(this).val() == 'on') action_ids_to_run.push(jQuery(this).closest('.action-to-run').data('id'));\n    });\n    form_data.set('action_ids', action_ids_to_run.join(','));\n\n\n    let data = new FormData();\n    data.append('params', latepoint_formdata_to_url_encoded_string(form_data));\n    data.append('action', latepoint_helper.route_action);\n    data.append('route_name', $btn.data('route'));\n    data.append('return_format', 'json');\n\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      processData: false,\n      contentType: false,\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $btn.removeClass('os-loading');\n        if(data.status == 'success'){\n          latepoint_add_notification(data.message);\n        }else{\n          latepoint_add_notification(data.message, 'error');\n        }\n      }\n    });\n  });\n\n  jQuery('.process-action-test-data-source-selector').on('change', function(){\n    // TODO add call to server to check if selected data sources matches conditions of this process\n  });\n}\n\n\nfunction latepoint_init_process_action_test_form(){\n\n  latepoint_init_json_view(jQuery('.action-preview-wrapper.type-trigger_webhook pre'));\n\n  jQuery('.latepoint-run-action-btn').on('click', function(){\n    let $btn = jQuery(this);\n    if($btn.hasClass('os-loading')) return false;\n    $btn.addClass('os-loading');\n    let $test_action_form = jQuery('.latepoint-lightbox-content .action-settings-wrapper');\n\n    let action_data = new FormData();\n\n\n    action_data.append('params', $test_action_form.find('select, textarea, input').serialize());\n    action_data.append('action', latepoint_helper.route_action);\n    action_data.append('route_name', $btn.data('route'));\n    action_data.append('return_format', 'json');\n\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      processData: false,\n      contentType: false,\n      url : latepoint_helper.ajaxurl,\n      data : action_data,\n      success: function(data){\n        $btn.removeClass('os-loading');\n        if(data.status == 'success'){\n          latepoint_add_notification(data.message);\n        }else{\n          latepoint_add_notification(data.message, 'error');\n        }\n      }\n    });\n  });\n\n  jQuery('.process-action-test-data-source-selector').on('change', function(){\n    let $select = jQuery(this);\n    jQuery('.action-preview-wrapper').addClass('os-loading');\n    let $test_action_form = $select.closest('.action-settings-wrapper');\n\n    let action_data = new FormData();\n\n\n    action_data.append('params', $test_action_form.find('select, textarea, input').serialize());\n    action_data.append('action', latepoint_helper.route_action);\n    action_data.append('route_name', $select.data('route'));\n    action_data.append('return_format', 'json');\n\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      processData: false,\n      contentType: false,\n      url : latepoint_helper.ajaxurl,\n      data : action_data,\n      success: function(data){\n        jQuery('.action-preview-wrapper').html(data.message).removeClass('os-loading');\n        latepoint_init_json_view(jQuery('.action-preview-wrapper.type-trigger_webhook pre'));\n      }\n    });\n  });\n}\n\nfunction latepoint_init_process_action_form($action_form){\n  $action_form.on('click', '.os-run-process-action', function(){\n    let $btn = jQuery(this);\n    $btn.addClass('os-loading');\n    let $action_form = $btn.closest('.process-action-form');\n\n    if(window.tinyMCE !== undefined) window.tinyMCE.triggerSave();\n\n    let action_data = new FormData();\n    let params = latepoint_create_form_data_from_non_form_element($action_form);\n\n    params.set('process_event_type', $action_form.closest('.os-process-form').find('.process-event-type-selector').val());\n\n    action_data.append('params', latepoint_formdata_to_url_encoded_string(params));\n    action_data.append('action', latepoint_helper.route_action);\n    action_data.append('route_name', $btn.data('route'));\n    action_data.append('return_format', 'json');\n\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      processData: false,\n      contentType: false,\n      url : latepoint_helper.ajaxurl,\n      data : action_data,\n      success: function(data){\n        latepoint_show_data_in_lightbox(data.message, 'width-800');\n        latepoint_init_process_action_test_form();\n        $btn.removeClass('os-loading');\n      }\n    });\n    return false;\n  });\n  $action_form.on('click', '.process-action-heading', function(){\n    jQuery(this).closest('.process-action-form').toggleClass('is-editing');\n    return false;\n  });\n  $action_form.on('change', '.process-action-type', function(){\n    jQuery(this).closest('.process-action-form').find('.process-action-name').text(jQuery(this).find('option:selected').text());\n  });\n\n  $action_form.find('textarea.os-wp-editor-textarea').each(function(index){\n    latepoint_init_tiny_mce(jQuery(this).attr('id'));\n  });\n  $action_form.on('click', '.os-remove-process-action', function(){\n    if(confirm(jQuery(this).data('os-prompt'))){\n      jQuery(this).closest('.process-action-form').remove();\n    }\n    return false;\n  });\n  $action_form.on('change', '.process-action-type', function(){\n    let $select = jQuery(this);\n    let action_type = $select.val();\n    let action_id = $select.data('action-id');\n    let route_name = $select.data('route');\n    let data = {\n      action: latepoint_helper.route_action,\n      route_name: route_name,\n      params: {\n        action_type: action_type,\n        action_id: action_id\n      },\n      layout: 'none',\n      return_format: 'json'\n    }\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $select.closest('.process-action-content').find('.process-action-settings').html(data.message);\n        latepoint_init_input_masks($select.closest('.process-action-form'));\n      }\n    });\n    return false;\n  });\n}","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\n// @codekit-prepend \"bin/time.js\";\n// @codekit-prepend \"bin/lateselect.js\";\n// @codekit-prepend \"bin/latecheckbox.js\";\n// @codekit-prepend \"bin/actions.js\";\n// @codekit-prepend \"bin/notifications.js\";\n// @codekit-prepend \"bin/shared.js\";\n// @codekit-prepend \"bin/admin/updates.js\";\n// @codekit-prepend \"bin/admin/main.js\";\n// @codekit-prepend \"bin/admin/_chart.js\";\n// @codekit-prepend \"bin/admin/_calendar.js\";\n// @codekit-prepend \"bin/admin/_processes.js\";\n\n\n\n// DOCUMENT READY\njQuery(document).ready(function( $ ) {\n\n\n  // DASHBOARD\n  latepoint_init_calendars();\n  latepoint_init_circles_charts();\n  latepoint_init_donut_charts();\n  latepoint_init_daily_bookings_chart();\n  latepoint_init_element_togglers();\n  latepoint_init_daterangepicker(jQuery('.os-date-range-picker'));\n  latepoint_init_monthly_view();\n  latepoint_init_form_blocks();\n  latepoint_init_reminders_form();\n  latepoint_init_coupons_form();\n  latepoint_init_copy_on_click_elements();\n  latepoint_init_side_menu();\n  latepoint_init_color_picker();\n  latepoint_init_clickable_cells();\n  latepoint_init_input_masks();\n  latepoint_init_process_forms();\n  latepoint_init_sticky_side_menu();\n  latepoint_init_sortable_columns();\n  latepoint_init_accordions();\n  latepoint_init_default_form_fields_settings();\n\n  jQuery(document).on({\n    mouseenter: function () {\n      let $elem = jQuery(this);\n      let offset = $elem.offset();\n      jQuery('body > .late-tooltip').remove();\n      let $popup = jQuery('<div/>').addClass('late-tooltip').text($elem.data('late-tooltip')).appendTo(jQuery('body'));\n      $popup.css('top', offset.top - 2);\n      $popup.css('left', offset.left + $elem.outerWidth() / 2);\n      return false;\n    },\n    mouseleave: function () {\n      jQuery('body > .late-tooltip').remove();\n    }\n  }, \"[data-late-tooltip]\");\n\n  jQuery('body').on('click', '.booking-activity-log-panel-close', function(){\n    jQuery('.booking-activity-log-panel-w').remove();\n    return false;\n  });\n\n  jQuery('#settings_list_of_phone_countries').on('change', function(){\n    if(jQuery(this).val() == latepoint_helper.value_all){\n      jQuery('.select-phone-countries-wrapper').hide();\n    }else{\n      jQuery('.select-phone-countries-wrapper').show();\n    }\n  });\n\n  jQuery('.os-select-all-toggler').on('change', function(){\n    var $connection_wrappers = jQuery(this).closest('.white-box').find('.os-complex-connections-selector .connection');\n    if(jQuery(this).is(':checked')){\n      latepoint_complex_selector_select($connection_wrappers);\n    }else{\n      latepoint_complex_selector_deselect($connection_wrappers);\n    }\n    return false;\n  });\n\n\n  jQuery('.os-main-location-selector').on('change', function(){\n    var route = jQuery(this).data('route');\n    var params = 'id=' + jQuery(this).val();\n    var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n    jQuery('.latepoint-content-w').addClass('os-loading');\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        location.reload();\n      }\n    });\n  });\n\n  jQuery('.os-service-durations-w').on('click', '.os-remove-duration', function(){\n    jQuery(this).closest('.duration-box').slideUp(300, function(){\n      jQuery(this).remove();\n    });\n    return false;\n  });\n\n\n  jQuery('.menu-color-toggler').on('click', function(){\n    jQuery('.latepoint-side-menu-w').toggleClass('dark');\n    return false;\n  });\n\n\n  jQuery('.latepoint-mobile-top-menu-trigger').on('click', function(){\n    jQuery(this).closest('.latepoint-all-wrapper').toggleClass('os-show-mobile-menu');\n    if(jQuery(this).closest('.latepoint-all-wrapper').hasClass('os-show-mobile-menu')){\n      jQuery('.latepoint-side-menu-w ul.side-menu > li.has-children > a').on('click', function(){\n        jQuery(this).closest('li').toggleClass('menu-item-sub-open-mobile');\n        return false;\n      });\n    }else{\n      jQuery('.latepoint-side-menu-w ul.side-menu > li.has-children > a').off('click');\n    }\n    return false;\n  });\n\n  jQuery('.latepoint-mobile-top-search-trigger-cancel').on('click', function(){\n    jQuery(this).closest('.latepoint-all-wrapper').removeClass('os-show-mobile-search');\n    return false;\n  });\n\n  jQuery('.latepoint-mobile-top-search-trigger').on('click', function(){\n    jQuery(this).closest('.latepoint-all-wrapper').toggleClass('os-show-mobile-search');\n    if(jQuery(this).closest('.latepoint-all-wrapper').hasClass('os-show-mobile-search')){\n      jQuery('.latepoint-top-search').focus();\n    }\n    return false;\n  });\n\n\n  jQuery('.latepoint-top-bar-w').on('click', '.top-user-info-toggler', function(){\n    jQuery('.latepoint-user-info-dropdown').toggleClass('os-visible');\n    return false;\n  });\n\n  jQuery('.latepoint-content').on('click', '.mobile-calendar-actions-trigger', function(){\n    jQuery(this).closest('.calendar-mobile-controls').toggleClass('os-show-actions');\n    return false;\n  });\n\n  jQuery('.latepoint-content').on('click', '.os-widget-header-actions-trigger', function(){\n    jQuery(this).closest('.os-widget-header').toggleClass('os-show-actions');\n    return false;\n  });\n\n  jQuery('.latepoint-content').on('click', '.mobile-table-actions-trigger', function(){\n    jQuery(this).closest('.os-pagination-w').toggleClass('os-show-actions');\n    return false;\n  });\n\n\n\n  \n\n\n  jQuery('.download-csv-with-filters').on('click', function(){\n    var filter_params = jQuery(this).closest('.table-with-pagination-w').find('.os-table-filter').serialize();\n    filter_params+= '&download=csv';\n    jQuery(this).attr('href', this.href + '&' + filter_params);\n  });\n\n  jQuery('select.pagination-page-select').on('change', function(){\n    latepoint_filter_table(jQuery(this).closest('.table-with-pagination-w').find('table'), jQuery(this).closest('.pagination-page-select-w'), false);\n  });\n\n  jQuery('select.os-table-filter').on('change', function(){\n    latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n  });\n\n  jQuery('input.os-table-filter').on('keyup', function(){\n    latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n  });\n\n\n  jQuery('.customize-connection-btn').on('click', function(){\n    jQuery(this).closest('.connection').toggleClass('show-customize-box');\n    return false;\n  });\n\n  jQuery('.connection-children-list').on('click', 'li', function(){\n    if(jQuery(this).hasClass('active')){\n      jQuery(this).removeClass('active');\n      jQuery(this).find('input.connection-child-is-connected').val('no');\n    }else{\n      jQuery(this).addClass('active');\n      jQuery(this).find('input.connection-child-is-connected').val('yes');\n    }\n    latepoint_count_active_connections(jQuery(this).closest('.connection'));\n    return false;\n  });\n\n  jQuery('.display-toggler-control').on('change', function(){\n    let group = jQuery(this).data('toggler-group');\n    let key = jQuery(this).val();\n    jQuery('.display-toggler-target[data-toggler-group=\"' + group + '\"]').hide();\n    jQuery('.display-toggler-target[data-toggler-group=\"' + group + '\"][data-toggler-key=\"'+ key +'\"]').show();\n    return false;\n  });\n\n  jQuery('.add-item-category-trigger').on('click', function(){\n    jQuery('.add-item-category-box').toggle();\n    jQuery('.os-new-item-category-form-w').toggle();\n    return false;\n  });\n\n  jQuery('.latepoint-top-search').on('keyup', function(event){\n    var $wrapper = jQuery(this).closest('.latepoint-top-search-w');\n    $wrapper.addClass('os-loading');\n    var query = jQuery(this).val();\n    if(event.keyCode == 27){\n      $wrapper.removeClass('typing');\n      jQuery('.latepoint-top-search-results-w').html('');\n      jQuery(this).val('');\n      $wrapper.removeClass('os-loading');\n      return;\n    }\n    if(query == ''){\n      $wrapper.removeClass('typing');\n      jQuery('.latepoint-top-search-results-w').html('');\n      $wrapper.removeClass('os-loading');\n      return;\n    }\n    var route = jQuery(this).data('route');\n    var params = 'query=' + query;\n    var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n    $wrapper.addClass('typing');\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        if(!$wrapper.hasClass('typing')) return;\n        $wrapper.removeClass('os-loading');\n        if(data.status === \"success\"){\n          jQuery('.latepoint-top-search-results-w').html(data.message);\n        }else{\n          // console.log(data.message);\n        }\n      }\n    });\n  });\n\n\n\n  jQuery('.add-custom-step-btn').on('click', function(e){\n    var $step = jQuery('.empty-step-w .step-w').clone();\n    var step_name = 'step_' + latepoint_random_text(6);\n    var step_order_number = jQuery('.steps-ordering-w .step-w').length;\n    $step.find('input[name=\"step[name]\"]').val(step_name);\n    $step.find('input[name=\"step[order_number]\"]').val(step_order_number);\n\n    $step.addClass('editing').attr('data-step-name', step_name);\n    jQuery('.steps-ordering-w').append($step);\n    return false;\n  });\n\n\n\n  jQuery('.appointment-status-selector').on('click', function(e){\n    e.stopPropagation();\n  });\n\n  jQuery('.latepoint-show-license-details').on('click', function(e){\n    jQuery(this).closest('.active-license-info').find('.license-info-w').slideToggle(200);\n    return false;\n  });\n\n  jQuery('.aba-button-w').on('click', function(e){\n    e.stopPropagation();\n    var confirm_message = (jQuery(this).hasClass('aba-approve')) ? latepoint_helper.approve_confirm : latepoint_helper.reject_confirm;\n    if(confirm(confirm_message)){\n      var $box = jQuery(this).closest('.appointment-box-large');\n      $box.find('.appointment-status-selector select').val(jQuery(this).data('status')).change();\n    }\n    return false;\n  });\n\n\n\n  jQuery('.appointment-status-selector select').on('change', function(e){\n    var $wrapper = jQuery(this).closest('.appointment-status-selector');\n    var route = $wrapper.data('route');\n    var nonce = $wrapper.data('wp-nonce');\n    var booking_id = $wrapper.data('booking-id');\n    var status = jQuery(this).val();\n    jQuery(this).closest('.appointment-box-large').attr('class', 'appointment-box-large status-' + status);\n    var params = 'id=' + booking_id + '&status=' + status + '&_wpnonce=' + nonce;\n    var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        if(data.status === \"success\"){\n          latepoint_add_notification(data.message);\n        }else{\n          latepoint_add_notification(data.message, 'error');\n          // console.log(data.message);\n        }\n      }\n    });\n  });\n\n  jQuery('body').on('click', '.open-template-variables-panel', function(){\n    jQuery('.latepoint-template-variables').toggleClass('is-visible');\n    return false;\n  });\n\n  jQuery('body').on('click', '.close-template-variables-panel', function(){\n    jQuery('.latepoint-template-variables').removeClass('is-visible');\n    return false;\n  });\n\n  jQuery('body').on('click', '.open-layout-template-variables-panel', function(){\n    jQuery('.latepoint-layout-template-variables').toggleClass('is-visible');\n    return false;\n  });\n\n  jQuery('body').on('click', '.close-layout-template-variables-panel', function(){\n    jQuery('.latepoint-layout-template-variables').removeClass('is-visible');\n    return false;\n  });\n\n  jQuery('body').on('click', '.os-notifications .os-notification-close', function(){\n    jQuery(this).closest('.item').remove();\n    return false;\n  });\n\n\n  jQuery('body').on('keyup', '.os-form-group .os-form-control', function(){\n    if(jQuery(this).val()){\n      jQuery(this).closest('.os-form-group').addClass('has-value');\n    }else{\n      jQuery(this).closest('.os-form-group').removeClass('has-value');\n    }\n  });\n\n\n\n  jQuery('.os-wizard-setup-w, .latepoint-settings-w, .custom-schedule-wrapper').on('click', '.ws-head', function(){\n    var $schedule_wrapper = jQuery(this).closest('.weekday-schedule-w');\n    $schedule_wrapper.toggleClass('is-editing').removeClass('day-off');\n    $schedule_wrapper.find('.os-toggler').removeClass('off');\n    $schedule_wrapper.find('input.is-active').val(1);\n  });\n\n\n  jQuery('.latepoint').on('click', '.wizard-add-edit-item-trigger', function(e){\n    jQuery(this).addClass('os-loading');\n    var add_item_route_name = jQuery(this).data('route');\n    var item_info = {  };\n    if(jQuery(this).data('id')){\n      item_info.id = jQuery(this).data('id');\n    }\n    var data = { action: latepoint_helper.route_action, route_name: add_item_route_name, params: item_info, layout: 'none', return_format: 'json' };\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        jQuery('.wizard-add-edit-item-trigger.os-loading').removeClass('os-loading');\n        if(data.status === \"success\"){\n          jQuery('.os-wizard-step-content-i').html(data.message);\n          jQuery('.os-wizard-setup-w').addClass('is-sub-editing');\n          jQuery('.os-wizard-footer').hide();\n          latepoint_init_wizard_content();\n        }else{\n          // console.log(data.message);\n        }\n      }\n    });\n  });\n\n\n\n\n  // WIZARD NEXT BUTTON CLICK LOGIC\n  jQuery('.latepoint').on('click', '.os-wizard-next-btn', function(){\n    var $next_btn = jQuery(this);\n    $next_btn.addClass('os-loading');\n    var current_step = jQuery('#wizard_current_step').val();\n    var params = 'current_step='+current_step;\n    if(jQuery('.os-wizard-setup-w form.weekday-schedules-w').length){\n      params+= '&'+ jQuery('.os-wizard-setup-w form.weekday-schedules-w .weekday-schedule-w:not(.day-off) input').serialize();\n    }\n    var data = { action: latepoint_helper.route_action, route_name: jQuery(this).data('route-name'), params: params, layout: 'none', return_format: 'json'};\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $next_btn.removeClass('os-loading');\n        if(data.status === \"success\"){\n          jQuery('#wizard_current_step').val(data.step_name);\n          jQuery('.os-wizard-setup-w').attr('class', 'os-wizard-setup-w step-' + data.step_name);\n          jQuery('.os-wizard-step-content').html(data.message);\n          latepoint_init_wizard_content();\n          if(data.show_prev_btn){\n            jQuery('.os-wizard-prev-btn').show();\n          }else{\n            jQuery('.os-wizard-prev-btn').hide();\n          }\n          if(data.show_next_btn){\n            jQuery('.os-wizard-next-btn').show();\n          }else{\n            jQuery('.os-wizard-next-btn').hide();\n          }\n          if(!data.show_next_btn && !data.show_prev_btn){\n            jQuery('.os-wizard-footer').hide();\n          }else{\n            jQuery('.os-wizard-footer').show();\n          }\n        }\n      }\n    });\n    return false;\n  });\n\n  // WIZARD PREV BUTTON CLICK LOGIC\n  jQuery('.latepoint').on('click', '.os-wizard-prev-btn', function(){\n    var $prev_btn = jQuery(this);\n    $prev_btn.addClass('os-loading');\n    var current_step = jQuery('#wizard_current_step').val();\n    var params = 'current_step='+current_step;\n    var data = { action: latepoint_helper.route_action, route_name: jQuery(this).data('route-name'), params: params, layout: 'none', return_format: 'json'};\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(data){\n        $prev_btn.removeClass('os-loading');\n        if(data.status === \"success\"){\n          jQuery('#wizard_current_step').val(data.step_name);\n          jQuery('.os-wizard-setup-w').attr('class', 'os-wizard-setup-w step-' + data.step_name);\n          jQuery('.os-wizard-step-content').html(data.message);\n          latepoint_init_wizard_content();\n          if(data.show_prev_btn){\n            jQuery('.os-wizard-prev-btn').show();\n          }else{\n            jQuery('.os-wizard-prev-btn').hide();\n          }\n          if(data.show_next_btn){\n            jQuery('.os-wizard-next-btn').show();\n          }else{\n            jQuery('.os-wizard-next-btn').hide();\n          }\n          if(!data.show_next_btn && !data.show_prev_btn){\n            jQuery('.os-wizard-footer').hide();\n          }else{\n            jQuery('.os-wizard-footer').show();\n          }\n        }\n      }\n    });\n    return false;\n  });\n\n  jQuery('.latepoint-content-w').on('change', '.os-widget .os-trigger-reload-widget', function(){\n    latepoint_reload_widget(jQuery(this).closest('.os-widget'));\n  });\n\n  jQuery('.latepoint-content-w').on('click', '.os-widget .timeline-type-toggle .timeline-type-option', function(){\n    jQuery(this).closest('.timeline-type-toggle').find('.timeline-type-option.active').removeClass('active');\n    jQuery(this).addClass('active');\n    jQuery('.timeline-and-availability-contents').removeClass('shows-appointments shows-availability').addClass('shows-' + jQuery(this).data('value'));\n    jQuery('#' + jQuery(this).closest('.timeline-type-toggle').data('value-holder-id')).val(jQuery(this).data('value'));\n  });\n\n\n  dragula([].slice.apply(document.querySelectorAll('.os-categories-ordering-w .os-category-children')), {\n    moves: function (el, container, handle) {\n      return (handle.classList.contains('os-category-drag') || handle.classList.contains('os-category-item-drag'));\n    },\n  }).on('drop', function(el){\n    var $categories_wrapper = jQuery('.os-categories-ordering-w');\n    var category_datas = [];\n    var item_datas = [];\n\n    $categories_wrapper.find('.os-category-parent-w').each(function(index){\n      var order_number = jQuery(this).index() + 1;\n      var parent_id = jQuery(this).parent().closest('.os-category-parent-w').data('id') || 0;\n      category_datas.push({id: jQuery(this).data('id'), order_number: order_number, parent_id: parent_id});\n    });\n    $categories_wrapper.find('.item-in-category-w').each(function(index){\n      var item_order_number = jQuery(this).index() + 1;\n      var category_id = jQuery(this).closest('.os-category-parent-w').data('id') || 0;\n      item_datas.push({id: jQuery(this).data('id'), order_number: item_order_number, category_id: category_id});\n    });\n    latepoint_recalculate_items_count_in_category();\n    var data = { action: latepoint_helper.route_action, route_name: $categories_wrapper.data('category-order-update-route'), params: {category_datas: category_datas, item_datas: item_datas}, return_format: 'json' }\n    $categories_wrapper.addClass('os-loading');\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $categories_wrapper.removeClass('os-loading');\n        if(response.status === \"success\"){\n          // latepoint_add_notification(response.message);\n        }else{\n          alert(response.message);\n        }\n      }\n    });\n  });\n\n\n  // Universal re-ordering dragging for form blocks\n  dragula([jQuery('.os-draggable-form-blocks')[0]], {\n    moves: function (el, container, handle) {\n      return handle.classList.contains('os-form-block-drag');\n    },\n  }).on('drop', function(el){\n    var blocks_order_data = {};\n    var $draggable_form_blocks_wrapper = jQuery('.os-draggable-form-blocks');\n    $draggable_form_blocks_wrapper.find('.os-form-block').each(function(index){\n      var new_order_number = jQuery(this).index() + 1;\n      var $block_model_id = jQuery(this).find('.os-form-block-id');\n      if($block_model_id.length && $block_model_id.val()) blocks_order_data[$block_model_id.val()] = new_order_number;\n    });\n    var data = { action: latepoint_helper.route_action,\n                  route_name: $draggable_form_blocks_wrapper.data('order-update-route'),\n                  params: {ordered_fields: blocks_order_data,\n                  fields_for: $draggable_form_blocks_wrapper.data('fields-for')},\n                  return_format: 'json' } \n    $draggable_form_blocks_wrapper.addClass('os-loading');\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $draggable_form_blocks_wrapper.removeClass('os-loading');\n      }\n    });\n  });\n\n  // Steps Order Dragging\n  dragula([jQuery('.steps-ordering-w')[0]], {\n    moves: function (el, container, handle) {\n      return handle.classList.contains('step-drag');\n    },\n  }).on('drop', function(el){\n    var step_order_data = {};\n    var $steps_wrapper = jQuery('.steps-ordering-w');\n    $steps_wrapper.find('.step-w').each(function(index){\n      var new_order_number = jQuery(this).index() + 1;\n      jQuery(this).data('step-order-number', new_order_number);\n      jQuery(this).find('input[name=\"step[order_number]\"]').val(new_order_number);\n      step_order_data[jQuery(this).data('step-name')] = new_order_number;\n    });\n    var data = { action: latepoint_helper.route_action, route_name: $steps_wrapper.data('step-order-update-route'), params: {steps: step_order_data}, return_format: 'json' }\n    $steps_wrapper.addClass('os-loading');\n    jQuery.ajax({\n      type : \"post\",\n      dataType : \"json\",\n      url : latepoint_helper.ajaxurl,\n      data : data,\n      success: function(response){\n        $steps_wrapper.removeClass('os-loading');\n      }\n    });\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.os-category-edit-btn, .os-category-edit-cancel-btn, .os-category-w .os-category-name', function(){\n    jQuery(this).closest('.os-category-w').toggleClass('editing');\n    return false;\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.step-edit-btn, .step-edit-cancel-btn, .step-w .step-head', function(){\n    jQuery(this).closest('.step-w').toggleClass('editing');\n    return false;\n  });\n    \n  jQuery('body.latepoint-admin').on('click', '.agent-info-change-agent-btn', function(){\n    jQuery(this).closest('.agent-info-w').removeClass('selected').addClass('selecting');\n    return false;\n  });\n  \n  jQuery('body.latepoint-admin').on('click', '.agent-info-change-agent-btn', function(){\n    jQuery(this).closest('.agent-info-w').removeClass('selected').addClass('selecting');\n    return false;\n  });\n  \n\n  jQuery('body.latepoint-admin').on('click', '.customer-info-create-btn', function(){\n    jQuery(this).closest('.customer-info-w').removeClass('selecting').addClass('selected');\n    return false;\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.customer-info-load-btn', function(){\n    jQuery(this).closest('.customer-info-w').removeClass('selected').addClass('selecting').find('.customers-selector-search-input').focus();\n    return false;\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.customers-selector-cancel', function(){\n    jQuery(this).closest('.customer-info-w').removeClass('selecting').addClass('selected ');\n    jQuery('.customers-options-list .customer-option').show();\n    jQuery('.customers-selector-search-input').val('');\n    return false;\n  });\n\n  // CUSTOMER SELECTOR\n\n  // SERVICES SELECTOR\n  jQuery('body.latepoint-admin').on('click', '.os-services-select-field-w .service-option-selected', function(){\n    var $select = jQuery(this).closest('.os-services-select-field-w');\n    if($select.hasClass('active')){\n      $select.removeClass('active');\n    }else{\n      $select.addClass('active').find('input').focus();\n    }\n    return false;\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.os-services-select-field-w service-option-selected', function(){\n\n    return false;\n  });\n\n\n  jQuery('body.latepoint-admin').on('keyup', '.service-options-filter-input', function(){\n    var $list = jQuery(this).closest('.services-options-list');\n    var text = jQuery(this).val().toLowerCase();\n    $list.find('.service-option').hide();\n\n    // Search \n    $list.find('.service-option').each(function(){\n\n      if(jQuery(this).text().toLowerCase().indexOf(\"\"+text+\"\") != -1 ){\n       jQuery(this).show();\n      }\n    });\n    return false;\n  });\n\n\n  jQuery('.calendar-week-agent-w').on('click', '.calendar-load-target-date', function(event){\n    jQuery(this).addClass('os-loading');\n    latepoint_reload_week_view_calendar(jQuery(this).data('target-date'));\n    return false;\n  });\n\n  jQuery('.calendar-week-agent-w').on('change', '.cc-availability-toggler #overlay_service_availability', function(event){\n    if(jQuery(this).val() == 'on'){\n      jQuery('.calendar-week-agent-w .cc-service-selector').show();\n    }else{\n      jQuery('.calendar-week-agent-w .cc-service-selector').hide();\n    }\n    latepoint_reload_week_view_calendar();\n  });\n\n\n  jQuery('.calendar-week-agent-w').on('change', '.trigger-weekly-calendar-reload', function(event){\n    latepoint_reload_week_view_calendar();\n    return false;\n  });\n\n  jQuery('.latepoint-admin').on('click', '.os-complex-connections-selector .selector-trigger', function(){\n    var $connection_wrapper = jQuery(this).closest('.connection');\n    if($connection_wrapper.hasClass('active')){\n      latepoint_complex_selector_deselect($connection_wrapper);\n      jQuery(this).closest('.white-box').find('.os-select-all-toggler').prop('checked', false);\n    }else{\n      latepoint_complex_selector_select($connection_wrapper);\n    }\n    return false;\n  });\n\n  jQuery('.latepoint-admin').on('click', '.os-agents-selector .agent', function(){\n    if(jQuery(this).hasClass('active')){\n      jQuery(this).removeClass('active');\n      jQuery(this).find('.connection-child-is-connected').val('no');\n    }else{\n      jQuery(this).addClass('active');\n      jQuery(this).find('.connection-child-is-connected').val('yes');\n    }\n    return false;\n  });\n\n  jQuery('.latepoint-admin').on('click', '.os-services-selector .service', function(){\n    if(jQuery(this).hasClass('active')){\n      jQuery(this).removeClass('active');\n      jQuery(this).find('.connection-child-is-connected').val('no');\n    }else{\n      jQuery(this).addClass('active');\n      jQuery(this).find('.connection-child-is-connected').val('yes');\n    }\n    return false;\n  });\n\n  jQuery('.latepoint-admin').on( 'click', '.os-form-toggler-group', function( event ){\n    jQuery(this).find('.os-toggler').trigger('click');\n    return false;\n  });\n\n  jQuery('.latepoint-admin').on( 'click', '.os-toggler', function( event ){\n    let $toggler = jQuery(this);\n    if($toggler.data('confirm')){\n      if(!confirm($toggler.data('confirm'))) return false;\n    }\n    if($toggler.hasClass('on')){\n      $toggler.removeClass('on').addClass('off');\n    }else{\n      $toggler.removeClass('off').addClass('on');\n    }\n    if($toggler.data('for')){\n      if($toggler.hasClass('os-toggler-radio')){\n        // radio\n        // uncheck all radio buttons with the same name\n        let $radio = jQuery('#' + $toggler.data('for'));\n        jQuery('input[type=\"radio\"][name=\"'+ $radio.prop('name') + '\"]:checked').each(function(index){\n          let toggle_content_id = jQuery(this).prop('checked', false).closest('.os-toggler-w').find('.os-toggler.on').removeClass('on').addClass('off').data('controlled-toggle-id');\n          jQuery('#'+ toggle_content_id).hide();\n          console.log('unchecked');\n        });\n        $radio.prop('checked', !$toggler.hasClass('off'));\n      }else{\n        var $hiddenInput = jQuery('input[type=\"hidden\"]#' + $toggler.data('for'));\n        if($hiddenInput.length){\n          // hidden input\n          if($toggler.data('is-string-value')){\n            $hiddenInput.val($toggler.hasClass('off') ? 'off' : 'on').trigger('change');\n          }else{\n            $hiddenInput.val($toggler.hasClass('off') ? 0 : 1).trigger('change');\n          }\n        }else{\n          // checkbox\n          jQuery('#' + $toggler.data('for')).prop('checked', !$toggler.hasClass('off'));\n        }\n      }\n    }\n    if($toggler.data('controlled-toggle-id')){\n      if($toggler.hasClass('off')){\n        jQuery('#' + $toggler.data('controlled-toggle-id')).hide();\n      }else{\n        jQuery('#' + $toggler.data('controlled-toggle-id')).show();\n      }\n    }\n    $toggler.trigger('ostoggler:toggle');\n    return false;\n  });\n\n\n\n  // UPLOAD/REMOVE IMAGE LINK LOGIC\n  jQuery('.latepoint-admin').on( 'click', '.os-image-selector-trigger', function( event ){\n    var frame;\n\n    event.preventDefault();\n\n    var $image_uploader_trigger = jQuery(this);\n    var $image_selector_w = jQuery(this).closest('.os-image-selector-w');\n    var $image_container = $image_selector_w.find('.os-image-container');\n    var $image_id_holder = $image_selector_w.find('.os-image-id-holder');\n\n    var image_exists = $image_container.find('img').length;\n\n    if(image_exists){\n      $image_id_holder.val('');\n      $image_container.removeClass('has-image');\n      $image_container.html('');\n      $image_uploader_trigger.find('.os-text-holder').text($image_uploader_trigger.data('label-set-str'));\n    }else{\n      // If the media frame already exists, reopen it.\n      if ( frame ) {\n        frame.open();\n        return false;\n      }\n      \n      // Create a new media frame\n      frame = wp.media({\n        title: 'Select or Upload Media',\n        button: { text: 'Use this media' },\n        multiple: false\n      });\n\n      frame.on( 'select', function() {\n        var attachment = frame.state().get('selection').first().toJSON();\n        $image_container.append( '<img src=\"'+attachment.url+'\" alt=\"\"/>' );\n        $image_id_holder.val( attachment.id );\n        $image_container.addClass('has-image');\n        $image_uploader_trigger.find('.os-text-holder').text($image_uploader_trigger.data('label-remove-str'));\n      });\n\n      frame.open();\n    }\n    \n    return false;\n  });\n\n\n\n  jQuery('body').on('click', '.latepoint-lightbox-close', function(){\n    latepoint_lightbox_close();\n    return false;\n  });\n\n\n  jQuery('body').on('click', '.latepoint-side-panel-close-trigger', function(){\n    jQuery('.latepoint-side-panel-w').remove();\n    return false;\n  });\n\n\n  jQuery('body').on('click', '.latepoint-quick-availability-close', function(){\n    jQuery('.quick-availability-per-day-w').remove();\n    return false;\n  });\n  \n\n\n  jQuery('body.latepoint-admin').on('click', '.time-ampm-select', function(){\n    jQuery(this).closest('.time-ampm-w').find('.active').removeClass('active');\n    jQuery(this).addClass('active');\n    var ampm_value = jQuery(this).data('ampm-value');\n    jQuery(this).closest('.os-time-group').find('.ampm-value-hidden-holder').val(ampm_value);\n    if(jQuery(this).closest('.quick-start-time-w').length){\n      // if called from quick edit form - we need to make sure it accurately changes time to next day if end time is earlier than start time\n      latepoint_set_booking_end_time();\n      latepoint_is_next_day();\n    }\n    return false;\n  });\n\n\n  jQuery('body.latepoint-admin').on('click', '.latepoint-lightbox-shadow', function(){\n    latepoint_lightbox_close();\n    return false;\n  });\n\n  jQuery('body.latepoint-admin').on('click', '.latepoint-side-panel-shadow', function(){\n    jQuery('.latepoint-side-panel-w').remove();\n    return false;\n  });\n\n  // SCHEDULE\n\n  jQuery('body.latepoint-admin').on('click', '.ws-period-remove', function(e){\n    jQuery(this).closest('.ws-period').remove();\n    return false;\n  });\n\n\n  jQuery('.latepoint-admin').on( 'click', '.weekday-schedule-w .os-toggler', function( event ){\n    if(jQuery(this).hasClass('off')){\n      jQuery(this).closest('.weekday-schedule-w').addClass('day-off').removeClass('is-editing').find('input.is-active').val(0);\n    }else{\n      jQuery(this).closest('.weekday-schedule-w').removeClass('day-off').addClass('is-editing').find('input.is-active').val(1);\n    }\n    return false;\n  });\n\n  \n\n});"]}