You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
easyappointments-archive/assets/js/frontend_book.min.js

1 line
12 KiB

window.FrontendBook=window.FrontendBook||{},function(e){"use strict";var d,c;e.manageMode=!1,e.initialize=function(e,a){e=e||!0,a=a||!1,GlobalVariables.displayCookieNotice&&(cookieconsent.initialise({palette:{popup:{background:"#ffffffbd",text:"#666666"},button:{background:"#429a82",text:"#ffffff"}},content:{message:EALang.website_using_cookies_to_ensure_best_experience,dismiss:"OK"}}),$(".cc-link").replaceWith($("<a/>",{"data-toggle":"modal","data-target":"#cookie-notice-modal",href:"#",class:"cc-link",text:$(".cc-link").text()}))),FrontendBook.manageMode=a,tippy("[data-tippy-content]");var t=GeneralFunctions.getWeekDayId(GlobalVariables.firstWeekday);if($("#select-date").datepicker({dateFormat:"dd-mm-yy",firstDay:t,minDate:0,defaultDate:Date.today(),dayNames:[EALang.sunday,EALang.monday,EALang.tuesday,EALang.wednesday,EALang.thursday,EALang.friday,EALang.saturday],dayNamesShort:[EALang.sunday.substr(0,3),EALang.monday.substr(0,3),EALang.tuesday.substr(0,3),EALang.wednesday.substr(0,3),EALang.thursday.substr(0,3),EALang.friday.substr(0,3),EALang.saturday.substr(0,3)],dayNamesMin:[EALang.sunday.substr(0,2),EALang.monday.substr(0,2),EALang.tuesday.substr(0,2),EALang.wednesday.substr(0,2),EALang.thursday.substr(0,2),EALang.friday.substr(0,2),EALang.saturday.substr(0,2)],monthNames:[EALang.january,EALang.february,EALang.march,EALang.april,EALang.may,EALang.june,EALang.july,EALang.august,EALang.september,EALang.october,EALang.november,EALang.december],prevText:EALang.previous,nextText:EALang.next,currentText:EALang.now,closeText:EALang.close,onSelect:function(e,a){FrontendBookApi.getAvailableHours($(this).datepicker("getDate").toString("yyyy-MM-dd")),FrontendBook.updateConfirmFrame()},onChangeMonthYear:function(e,a,t){var n=new Date(e,a-1,1);FrontendBookApi.getUnavailableDates($("#select-provider").val(),$("#select-service").val(),n.toString("yyyy-MM-dd"))}}),$("#select-timezone").val(Intl.DateTimeFormat().resolvedOptions().timeZone),e&&function(){$("#select-timezone").on("change",function(){var e=$("#select-date").datepicker("getDate");e&&(FrontendBookApi.getAvailableHours(e.toString("yyyy-MM-dd")),FrontendBook.updateConfirmFrame())}),$("#select-provider").on("change",function(){FrontendBookApi.getUnavailableDates($(this).val(),$("#select-service").val(),$("#select-date").datepicker("getDate").toString("yyyy-MM-dd")),FrontendBook.updateConfirmFrame()}),$("#select-service").on("change",function(){var a=$("#select-service").val();$("#select-provider").empty(),GlobalVariables.availableProviders.forEach(function(e){0<e.services.filter(function(e){return Number(e)===Number(a)}).length&&$("#select-provider").append(new Option(e.first_name+" "+e.last_name,e.id))}),1<=$("#select-provider option").length&&"1"===GlobalVariables.displayAnyProvider&&$("#select-provider").append(new Option("- "+EALang.any_provider+" -","any-provider")),FrontendBookApi.getUnavailableDates($("#select-provider").val(),$(this).val(),$("#select-date").datepicker("getDate").toString("yyyy-MM-dd")),FrontendBook.updateConfirmFrame(),function(a){var e=$("#service-description");e.empty();var t=GlobalVariables.availableServices.find(function(e){return Number(e.id)===Number(a)});if(!t)return;$("<strong/>",{text:t.name}).appendTo(e),t.description&&($("<br/>").appendTo(e),$("<span/>",{text:t.description}).appendTo(e));(t.duration||0<Number(t.price)||t.location)&&$("<br/>").appendTo(e);t.duration&&$("<span/>",{text:"["+EALang.duration+" "+t.duration+" "+EALang.minutes+"]"}).appendTo(e);0<Number(t.price)&&$("<span/>",{text:"["+EALang.price+" "+t.price+" "+t.currency+"]"}).appendTo(e);t.location&&$("<span/>",{text:"["+EALang.location+" "+t.location+"]"}).appendTo(e)}(a)}),$(".button-next").on("click",function(){if("1"!==$(this).attr("data-step_index")||$("#select-provider").val())if("2"!==$(this).attr("data-step_index")||$(".selected-hour").length){if("3"===$(this).attr("data-step_index")){if(!function(){$("#wizard-frame-3 .has-error").removeClass("has-error"),$("#wizard-frame-3 label.text-danger").removeClass("text-danger");try{var t=!1;if($(".required").each(function(e,a){$(a).val()||($(a).parents(".form-group").addClass("has-error"),t=!0)}),t)throw new Error(EALang.fields_are_required);var e=$("#accept-to-terms-and-conditions");if(e.length&&!e.prop("checked"))throw e.parents(".form-check").addClass("text-danger"),new Error(EALang.fields_are_required);var a=$("#accept-to-privacy-policy");if(a.length&&!a.prop("checked"))throw a.parents(".form-check").addClass("text-danger"),new Error(EALang.fields_are_required);if(!GeneralFunctions.validateEmail($("#email").val()))throw $("#email").parents(".form-group").addClass("has-error"),new Error(EALang.invalid_email);return 1}catch(e){return void $("#form-message").text(e.message)}}())return;FrontendBook.updateConfirmFrame();var e,a=$("#accept-to-terms-and-conditions");a.length&&!0===a.prop("checked")&&(e={first_name:$("#first-name").val(),last_name:$("#last-name").val(),email:$("#email").val(),type:"terms-and-conditions"},JSON.stringify(e)!==JSON.stringify(d)&&(d=e,FrontendBookApi.saveConsent(d)));var t,n=$("#accept-to-privacy-policy");n.length&&!0===n.prop("checked")&&(t={first_name:$("#first-name").val(),last_name:$("#last-name").val(),email:$("#email").val(),type:"privacy-policy"},JSON.stringify(t)!==JSON.stringify(c)&&(c=t,FrontendBookApi.saveConsent(c)))}var r=parseInt($(this).attr("data-step_index"))+1;$(this).parents().eq(1).hide("fade",function(){$(".active-step").removeClass("active-step"),$("#step-"+r).addClass("active-step"),$("#wizard-frame-"+r).show("fade")})}else $("#select-hour-prompt").length||$("<div/>",{id:"select-hour-prompt",class:"text-danger mb-4",text:EALang.appointment_hour_missing}).prependTo("#available-hours")}),$(".button-back").on("click",function(){var e=parseInt($(this).attr("data-step_index"))-1;$(this).parents().eq(1).hide("fade",function(){$(".active-step").removeClass("active-step"),$("#step-"+e).addClass("active-step"),$("#wizard-frame-"+e).show("fade")})}),$("#available-hours").on("click",".available-hour",function(){$(".selected-hour").removeClass("selected-hour"),$(this).addClass("selected-hour"),FrontendBook.updateConfirmFrame()}),FrontendBook.manageMode&&($("#cancel-appointment").on("click",function(e){var a=[{text:EALang.cancel,click:function(){$("#message-box").dialog("close")}},{text:"OK",click:function(){""!==$("#cancel-reason").val()?($("#cancel-appointment-form textarea").val($("#cancel-reason").val()),$("#cancel-appointment-form").submit()):$("#cancel-reason").css("border","2px solid #DC3545")}}];return GeneralFunctions.displayMessageBox(EALang.cancel_appointment_title,EALang.write_appointment_removal_reason,a),$("<textarea/>",{class:"form-control",id:"cancel-reason",rows:"3",css:{width:"100%"}}).appendTo("#message-box"),!1}),$("#delete-personal-information").on("click",function(){var e=[{text:EALang.cancel,click:function(){$("#message-box").dialog("close")}},{text:EALang.delete,click:function(){FrontendBookApi.deletePersonalInformation(GlobalVariables.customerToken)}}];GeneralFunctions.displayMessageBox(EALang.delete_personal_information,EALang.delete_personal_information_prompt,e)}));$("#book-appointment-submit").on("click",function(){FrontendBookApi.registerAppointment()}),$(".captcha-title button").on("click",function(e){$(".captcha-image").attr("src",GlobalVariables.baseUrl+"/index.php/captcha?"+Date.now())}),$("#select-date").on("mousedown",".ui-datepicker-calendar td",function(e){setTimeout(function(){FrontendBookApi.applyPreviousUnavailableDates()},300)})}(),FrontendBook.manageMode)!function(e,a){try{$("#select-service").val(e.id_services).trigger("change"),$("#select-provider").val(e.id_users_provider),$("#select-date").datepicker("setDate",Date.parseExact(e.start_datetime,"yyyy-MM-dd HH:mm:ss")),FrontendBookApi.getAvailableHours(moment(e.start_datetime).format("YYYY-MM-DD")),$("#last-name").val(a.last_name),$("#first-name").val(a.first_name),$("#email").val(a.email),$("#phone-number").val(a.phone_number),$("#address").val(a.address),$("#city").val(a.city),$("#zip-code").val(a.zip_code),a.timezone&&$("#select-timezone").val(a.timezone);var t=null!==e.notes?e.notes:"";$("#notes").val(t),FrontendBook.updateConfirmFrame()}catch(e){return}}(GlobalVariables.appointmentData,(GlobalVariables.providerData,GlobalVariables.customerData));else{var n=$("#select-provider"),r=$("#select-service"),o=GeneralFunctions.getUrlParameter(location.href,"service");o&&0<r.find('option[value="'+o+'"]').length&&r.val(o),r.trigger("change");var i=GeneralFunctions.getUrlParameter(location.href,"provider");if(i&&0===n.find('option[value="'+i+'"]').length)for(var s in GlobalVariables.availableProviders){var l=GlobalVariables.availableProviders[s];l.id===i&&0<l.services.length&&r.val(l.services[0]).trigger("change")}i&&0<n.find('option[value="'+i+'"]').length&&n.val(i).trigger("change")}},e.updateConfirmFrame=function(){var e,t,n,r,a,o,i,s,l,d,c,p;""!==$(".selected-hour").text()&&(null!==(e=$("#select-date").datepicker("getDate"))&&(e=GeneralFunctions.formatDate(e,GlobalVariables.dateFormat)),t=$("#select-service").val(),r=n="",GlobalVariables.availableServices.forEach(function(e,a){if(Number(e.id)===Number(t)&&0<Number(e.price))return n=e.price,r=e.currency,!1}),$("#appointment-details").empty(),$("<div/>",{html:[$("<h4/>",{text:EALang.appointment}),$("<p/>",{html:[$("<span/>",{text:EALang.service+": "+$("#select-service option:selected").text()}),$("<br/>"),$("<span/>",{text:EALang.provider+": "+$("#select-provider option:selected").text()}),$("<br/>"),$("<span/>",{text:EALang.start+": "+e+" "+$(".selected-hour").text()}),$("<br/>"),$("<span/>",{text:EALang.timezone+": "+$("#select-timezone option:selected").text()}),$("<br/>"),$("<span/>",{text:EALang.price+": "+n+" "+r,prop:{hidden:!n}})]})]}).appendTo("#appointment-details"),a=GeneralFunctions.escapeHtml($("#first-name").val()),o=GeneralFunctions.escapeHtml($("#last-name").val()),i=GeneralFunctions.escapeHtml($("#phone-number").val()),s=GeneralFunctions.escapeHtml($("#email").val()),l=GeneralFunctions.escapeHtml($("#address").val()),d=GeneralFunctions.escapeHtml($("#city").val()),c=GeneralFunctions.escapeHtml($("#zip-code").val()),$("#customer-details").empty(),$("<div/>",{html:[$("<h4/>)",{text:EALang.customer}),$("<p/>",{html:[$("<span/>",{text:EALang.customer+": "+a+" "+o}),$("<br/>"),$("<span/>",{text:EALang.phone_number+": "+i}),$("<br/>"),$("<span/>",{text:EALang.email+": "+s}),$("<br/>"),$("<span/>",{text:l?EALang.address+": "+l:""}),$("<br/>"),$("<span/>",{text:d?EALang.city+": "+d:""}),$("<br/>"),$("<span/>",{text:c?EALang.zip_code+": "+c:""}),$("<br/>")]})]}).appendTo("#customer-details"),(p={}).customer={last_name:$("#last-name").val(),first_name:$("#first-name").val(),email:$("#email").val(),phone_number:$("#phone-number").val(),address:$("#address").val(),city:$("#city").val(),zip_code:$("#zip-code").val(),timezone:$("#select-timezone").val()},p.appointment={start_datetime:$("#select-date").datepicker("getDate").toString("yyyy-MM-dd")+" "+Date.parse($(".selected-hour").data("value")||"").toString("HH:mm")+":00",end_datetime:function(){var e,a=$("#select-service").val(),t=GlobalVariables.availableServices.find(function(e){return Number(e.id)===Number(a)}),n=$("#select-date").datepicker("getDate").toString("dd-MM-yyyy")+" "+Date.parse($(".selected-hour").data("value")||"").toString("HH:mm");n=Date.parseExact(n,"dd-MM-yyyy HH:mm"),e=t.duration&&n?n.add({minutes:parseInt(t.duration)}):new Date;return e.toString("yyyy-MM-dd HH:mm:ss")}(),notes:$("#notes").val(),is_unavailable:!1,id_users_provider:$("#select-provider").val(),id_services:$("#select-service").val()},p.manage_mode=FrontendBook.manageMode,FrontendBook.manageMode&&(p.appointment.id=GlobalVariables.appointmentData.id,p.customer.id=GlobalVariables.customerData.id),$('input[name="csrfToken"]').val(GlobalVariables.csrfToken),$('input[name="post_data"]').val(JSON.stringify(p)))}}(window.FrontendBook);