1/* Placeholders.js v3.0.2 */ 2(function(t){"use strict";function e(t,e,r){return t.addEventListener?t.addEventListener(e,r,!1):t.attachEvent?t.attachEvent("on"+e,r):void 0}function r(t,e){var r,n;for(r=0,n=t.length;n>r;r++)if(t[r]===e)return!0;return!1}function n(t,e){var r;t.createTextRange?(r=t.createTextRange(),r.move("character",e),r.select()):t.selectionStart&&(t.focus(),t.setSelectionRange(e,e))}function a(t,e){try{return t.type=e,!0}catch(r){return!1}}t.Placeholders={Utils:{addEventListener:e,inArray:r,moveCaret:n,changeType:a}}})(this),function(t){"use strict";function e(){}function r(){try{return document.activeElement}catch(t){}}function n(t,e){var r,n,a=!!e&&t.value!==e,u=t.value===t.getAttribute(V);return(a||u)&&"true"===t.getAttribute(P)?(t.removeAttribute(P),t.value=t.value.replace(t.getAttribute(V),""),t.className=t.className.replace(R,""),n=t.getAttribute(z),parseInt(n,10)>=0&&(t.setAttribute("maxLength",n),t.removeAttribute(z)),r=t.getAttribute(D),r&&(t.type=r),!0):!1}function a(t){var e,r,n=t.getAttribute(V);return""===t.value&&n?(t.setAttribute(P,"true"),t.value=n,t.className+=" "+I,r=t.getAttribute(z),r||(t.setAttribute(z,t.maxLength),t.removeAttribute("maxLength")),e=t.getAttribute(D),e?t.type="text":"password"===t.type&&K.changeType(t,"text")&&t.setAttribute(D,"password"),!0):!1}function u(t,e){var r,n,a,u,i,l,o;if(t&&t.getAttribute(V))e(t);else for(a=t?t.getElementsByTagName("input"):f,u=t?t.getElementsByTagName("textarea"):h,r=a?a.length:0,n=u?u.length:0,o=0,l=r+n;l>o;o++)i=r>o?a[o]:u[o-r],e(i)}function i(t){u(t,n)}function l(t){u(t,a)}function o(t){return function(){b&&t.value===t.getAttribute(V)&&"true"===t.getAttribute(P)?K.moveCaret(t,0):n(t)}}function c(t){return function(){a(t)}}function s(t){return function(e){return A=t.value,"true"===t.getAttribute(P)&&A===t.getAttribute(V)&&K.inArray(C,e.keyCode)?(e.preventDefault&&e.preventDefault(),!1):void 0}}function d(t){return function(){n(t,A),""===t.value&&(t.blur(),K.moveCaret(t,0))}}function v(t){return function(){t===r()&&t.value===t.getAttribute(V)&&"true"===t.getAttribute(P)&&K.moveCaret(t,0)}}function g(t){return function(){i(t)}}function p(t){t.form&&(T=t.form,"string"==typeof T&&(T=document.getElementById(T)),T.getAttribute(U)||(K.addEventListener(T,"submit",g(T)),T.setAttribute(U,"true"))),K.addEventListener(t,"focus",o(t)),K.addEventListener(t,"blur",c(t)),b&&(K.addEventListener(t,"keydown",s(t)),K.addEventListener(t,"keyup",d(t)),K.addEventListener(t,"click",v(t))),t.setAttribute(j,"true"),t.setAttribute(V,x),(b||t!==r())&&a(t)}var f,h,b,m,A,y,E,x,L,T,S,N,w,B=["text","search","url","tel","email","password","number","textarea"],C=[27,33,34,35,36,37,38,39,40,8,46],k="#ccc",I="placeholdersjs",R=RegExp("(?:^|\\s)"+I+"(?!\\S)"),V="data-placeholder-value",P="data-placeholder-active",D="data-placeholder-type",U="data-placeholder-submit",j="data-placeholder-bound",q="data-placeholder-focus",Q="data-placeholder-live",z="data-placeholder-maxlength",F=document.createElement("input"),G=document.getElementsByTagName("head")[0],H=document.documentElement,J=t.Placeholders,K=J.Utils;if(J.nativeSupport=void 0!==F.placeholder,!J.nativeSupport){for(f=document.getElementsByTagName("input"),h=document.getElementsByTagName("textarea"),b="false"===H.getAttribute(q),m="false"!==H.getAttribute(Q),y=document.createElement("style"),y.type="text/css",E=document.createTextNode("."+I+" { color:"+k+"; }"),y.styleSheet?y.styleSheet.cssText=E.nodeValue:y.appendChild(E),G.insertBefore(y,G.firstChild),w=0,N=f.length+h.length;N>w;w++)S=f.length>w?f[w]:h[w-f.length],x=S.attributes.placeholder,x&&(x=x.nodeValue,x&&K.inArray(B,S.type)&&p(S));L=setInterval(function(){for(w=0,N=f.length+h.length;N>w;w++)S=f.length>w?f[w]:h[w-f.length],x=S.attributes.placeholder,x?(x=x.nodeValue,x&&K.inArray(B,S.type)&&(S.getAttribute(j)||p(S),(x!==S.getAttribute(V)||"password"===S.type&&!S.getAttribute(D))&&("password"===S.type&&!S.getAttribute(D)&&K.changeType(S,"text")&&S.setAttribute(D,"password"),S.value===S.getAttribute(V)&&(S.value=x),S.setAttribute(V,x)))):S.getAttribute(P)&&(n(S),S.removeAttribute(V));m||clearInterval(L)},100)}K.addEventListener(t,"beforeunload",function(){J.disable()}),J.disable=J.nativeSupport?e:i,J.enable=J.nativeSupport?e:l}(this),function(t){"use strict";var e=t.fn.val,r=t.fn.prop;Placeholders.nativeSupport||(t.fn.val=function(t){var r=e.apply(this,arguments),n=this.eq(0).data("placeholder-value");return void 0===t&&this.eq(0).data("placeholder-active")&&r===n?"":r},t.fn.prop=function(t,e){return void 0===e&&this.eq(0).data("placeholder-active")&&"value"===t?"":r.apply(this,arguments)})}(jQuery);; 3var openHours=[];var as_datepicker_filter_added=!1;
3var as_bound_time_fields={};var AS_GF3_CALENDAR_CLASS='gform-datepicker-calendar';var AS_GF3_INPUT_CLASS='gform-datepicker';var AS_GF2_SEED_KEYS=['yearRange','changeMonth','changeYear','beforeShow','onClose','suppressDatePicker'];var AS_DATEPICKER_READY_TIMEOUT=4000;var AS_CALENDAR_ICON_URL='https://hub.autoshopdashboard.com/autoshopplugins/theme_assets/common/calendar-img.png';function as_own(obj,key){return!!obj&&Object.prototype.hasOwnProperty.call(obj,key)} 4function as_datepicker_warn(message,error){if(window.console&&typeof console.warn==='function'){console.warn('AutoShop scheduler: '+message,error||'')}} 5function as_format_mdy(date){var m=('0'+(date.getMonth()+1)).slice(-2);var d=('0'+date.getDate()).slice(-2);return m+'/'+d+'/'+date.getFullYear()} 6function as_parse_mdy(value){var parts=String(value).split('/');if(parts.length!==3){return null} 7var m=Number(parts[0]);var d=Number(parts[1]);var y=Number(parts[2]);var date=new Date(y,m-1,d);if(date.getFullYear()!==y||date.getMonth()!==m-1||date.getDate()!==d){return null} 8return date} 9function as_days_in_month(year,month){return new Date(year,month+1,0).getDate()} 10function as_max_booking_date(){var base=new Date();var year=base.getFullYear();var month=base.getMonth()+3;var day=Math.min(base.getDate(),as_days_in_month(year,month));return new Date(year,month,day+10,0,0,0,0)} 11function as_scheduler_payload(){if(typeof autolab_datepicker==='undefined'||!autolab_datepicker){return null} 12var s=autolab_datepicker.autolab_scheduler;if(!s||typeof s!=='object'||!Array.isArray(s.enabled)){return null} 13return s} 14function as_form_enabled(s,formId){return s.enabled.some(function(id){return String(id)===String(formId)})} 15function as_hours_row(s,day){var hours=s&&s.hours;if(!hours||typeof hours!=='object'){return null} 16var row=hours[day];return(row&&typeof row==='object')?row:null} 17function as_hours_close_hour(s,day){var row=as_hours_row(s,day);if(!row||typeof row.close!=='string'){return null} 18var hour=parseInt(row.close.split(':')[0],10);return isFinite(hour)?hour:null} 19function as_hours_list(value){if(Array.isArray(value)){return value} 20if(value&&typeof value==='object'){return Object.keys(value).map(function(key){return value[key]})} 21return[]} 22function as_has_gf3_signal(optionsObj,formId,fieldId){if(optionsObj&&typeof optionsObj==='object'){if(optionsObj.id==='input_'+formId+'_'+fieldId+'_calendar'){return!0} 23if(optionsObj.className===AS_GF3_CALENDAR_CLASS){return!0} 24if(typeof optionsObj.inputDateFormat==='string'&&optionsObj.inputDateFormat!==''){return!0} 25if(optionsObj.forceSelect===!0&&optionsObj.yearSelect===!0&&optionsObj.monthSelect===!0){return!0}} 26var input=document.getElementById('input_'+formId+'_'+fieldId);return!!input&&!!as_find_datepicker_toggle(input)} 27function as_is_gf2_datepicker(optionsObj,formId,fieldId){if(as_has_gf3_signal(optionsObj,formId,fieldId)){return!1} 28var hits=0;for(var i=0;i<AS_GF2_SEED_KEYS.length;i++){if(as_own(optionsObj,AS_GF2_SEED_KEYS[i])){hits++}} 29return hits>=2} 30function gravityDatePickerFix(){if(as_datepicker_filter_added||typeof gform==='undefined'||typeof gform.addFilter!=='function'){return} 31gform.addFilter('gform_datepicker_options_pre_init',function(optionsObj,formId,fieldId){try{as_apply_scheduler_datepicker_options(optionsObj,formId,fieldId)}catch(e){as_datepicker_warn('datepicker options failed for field '+formId+'_'+fieldId,e);as_unlock_datepicker_input(formId,fieldId)} 32return optionsObj});as_datepicker_filter_added=!0} 33function as_apply_scheduler_datepicker_options(optionsObj,formId,fieldId){var s=as_scheduler_payload();if(!s||!as_form_enabled(s,formId)){return} 34var isGf2=as_is_gf2_datepicker(optionsObj,formId,fieldId);var now=new Date();var day=now.getDay();var closeHour=as_hours_close_hour(s,day);var addDay=0;if(closeHour===null){as_datepicker_warn('no closing time for weekday '+day+'; skipping the after-hours lead-time bump')}else if(closeHour<=now.getHours()&&s.midnight_reset!=='Yes'){addDay=1} 35var wait=Number(s.wait_time);if(!isFinite(wait)||wait<0){wait=0} 36if(wait<=0){wait=1+addDay}else{wait=Math.ceil(wait/24)+addDay} 37var week_start=Number(s.week_start);if(!isFinite(week_start)||week_start<0||week_start>6){week_start=0} 38var closedDays=Array.isArray(s.closed_days)?s.closed_days:[];if(s.same_day==='Yes'&&!closedDays.includes(day)){wait=0} 39var cdaycount=0;while(closedDays.includes(day+cdaycount)){wait++;cdaycount++} 40as_shared_datepicker_options(optionsObj,formId,fieldId,week_start,wait);if(isGf2){as_gf2_datepicker_options(optionsObj,formId,fieldId)}} 41function as_datepicker_before_show_day(date){var s=as_scheduler_payload();var blackout=(s&&Array.isArray(s.blackout))?s.blackout:[];var closedDays=(s&&Array.isArray(s.closed_days))?s.closed_days:[];var currentDate=as_format_mdy(date);return[!(blackout.indexOf(currentDate)!==-1||closedDays.includes(date.getDay()))]} 42function as_shared_datepicker_options(optionsObj,formId,fieldId,firstDay,minDays){var inputId='input_'+formId+'_'+fieldId;optionsObj.firstDay=firstDay;optionsObj.minDate=minDays;optionsObj.maxDate=as_max_booking_date();optionsObj.showOn='both';optionsObj.buttonImage=AS_CALENDAR_ICON_URL;optionsObj.beforeShowDay=as_datepicker_before_show_day;optionsObj.configure=as_make_gf3_configure(inputId);as_bind_schedule_times('#'+inputId);if(as_own(optionsObj,'onSelect')){as_datepicker_warn('field '+formId+'_'+fieldId+' arrived with an onSelect handler; on '+'jQuery UI that suppresses the change event the time dropdown depends on')}} 43function as_gf2_datepicker_options(optionsObj,formId,fieldId){optionsObj.dateFormat='mm/dd/yy';setTimeout(function(){jQuery('#input_'+formId+'_'+fieldId).attr('readonly','readonly')},500)} 44function as_make_gf3_configure(inputId){return function(dp){try{as_gf3_apply_restrictions(dp);var input=document.getElementById(inputId);if(input){if(!input.readOnly){input.setAttribute('readonly','readonly')} 45input.dataset.asDatepickerReady='1'}}catch(e){as_datepicker_warn('datepicker restrictions failed for #'+inputId,e)} 46return!0}} 47function as_gf3_apply_restrictions(dp){var s=as_scheduler_payload();var closedDays=(s&&Array.isArray(s.closed_days))?s.closed_days:[];var blackout=(s&&Array.isArray(s.blackout))?s.blackout:[];for(var month=0;month<=11;month++){if(dp.range[month]){dp.range[month].disabled={}}} 48dp.range.disabledWDays=closedDays.slice();blackout.forEach(function(entry){var date=as_parse_mdy(entry);if(date){dp.setDayDisabled(dp,date,!0)}})} 49function as_bind_schedule_times(selector){if(as_bound_time_fields[selector]){return} 50as_bound_time_fields[selector]=!0;jQuery(document).on('change',selector,function(){autolab_schedule_times(selector)})} 51function as_find_datepicker_toggle(input){if(!input||!input.id){return null} 52var scope=(input.closest&&input.closest('.ginput_container_date'))||(input.parentElement&&input.parentElement.parentElement)||input.parentElement;return document.querySelector('button[data-datepicker-input="'+input.id+'"]')||(scope&&scope.querySelector('button.gform-datepicker-toggle'))||null} 53function as_is_gf3_datepicker_field(input){return!!as_find_datepicker_toggle(input)} 54function as_lock_datepicker_inputs(){var s=as_scheduler_payload();if(!s){return} 55var lock=(as_datepicker_filter_added===!0);s.enabled.forEach(function(formId){jQuery('#gform_wrapper_'+formId).find('input.'+AS_GF3_INPUT_CLASS).each(function(){if(!as_is_gf3_datepicker_field(this)){return} 56if(!this.dataset.initialized){this.dataset.toggleClickedBeforeInit='true'} 57if(lock){this.setAttribute('readonly','readonly');
57as_watch_datepicker_input(this)}})})} 58function as_watch_datepicker_input(input){if(input.dataset.asDatepickerWatched){return} 59input.dataset.asDatepickerWatched='1';jQuery(input).one('focusin',function(){var el=this;window.setTimeout(function(){if(el.dataset.asDatepickerReady){return} 60el.removeAttribute('readonly');as_datepicker_warn('no calendar appeared for #'+el.id+'; unlocking the field so the form stays submittable')},AS_DATEPICKER_READY_TIMEOUT)})} 61function as_unlock_datepicker_input(formId,fieldId){var input=document.getElementById('input_'+formId+'_'+fieldId);if(input){input.removeAttribute('readonly')}} 62function isToday(someDate){var today=new Date();return someDate.getDate()==today.getDate()&&someDate.getMonth()==today.getMonth()&&someDate.getFullYear()==today.getFullYear()} 63function markupCheck(fieldId){var siblingId=jQuery(fieldId.replace('input','field')).next('li').attr('id');if(!siblingId){siblingId=jQuery(fieldId.replace('input','field')).next('div').attr('id')} 64if(!siblingId){return} 65var next=jQuery('#'+siblingId.replace('field','input'));var timeSelect=next.is('select')?next:next.find('select').first();if(!timeSelect.length){return} 66timeSelect.empty();timeSelect.append(jQuery('<option></option>').attr('value','').text('Choose a Time'));var selected=new Date(jQuery(fieldId).val());if(isNaN(selected.getTime())){return} 67openHours=as_get_hours(selected.getDay(),selected);openHours.forEach(function(e){let t=e.split(':');let hr=parseInt(t[0],10);let suffix=hr>=12?' PM':' AM';let hr12=hr%12;if(hr12===0){hr12=12} 68e=hr12+':'+t[1]+suffix;timeSelect.append(jQuery('<option></option>').attr('value',e).text(e))})} 69function as_get_hours(day,selected){if(isNaN(day)){return[]} 70var s=as_scheduler_payload();var row=as_hours_row(s,day);if(!row){as_datepicker_warn('no hours configured for weekday '+day);return[]} 71var formatedSelected=as_format_mdy(selected);if(row.advanced){var advanced=String(row.advanced);if(advanced[advanced.length-1]===','){advanced=advanced.substring(0,advanced.length-1)} 72var hours=advanced.split(',');if(isToday(selected)&&s.same_day==='Yes'){var cutoff=new Date().getHours()+(Number(s.same_day_buffer)||0);hours=hours.filter(function(slot){return parseInt(slot.split(':')[0],10)>=cutoff})} 73return hours} 74if(s.partial_days&&s.partial_days[formatedSelected]!=undefined){return as_hours_list(s.partial_days[formatedSelected].hours).slice(0,-1)} 75if(typeof row.open!=='string'||typeof row.close!=='string'){as_datepicker_warn('incomplete hours for weekday '+day);return[]} 76return autolab_default_hours(row.open.split(':'),row.close.split(':'),day,selected)} 77function autolab_schedule_times(fieldId){markupCheck(fieldId)} 78function autolab_default_hours(open,close,day,selected){var closeHour=parseInt(close[0]);if(closeHour<12){closeHour+=12} 79var count=(closeHour-open[0])*2-1;if(count>24){count=count-24} 80if(open[1]=='30'&&close[1]=='30'){count=count}else if(close[1]=='30'){count=count+1}else if(open[1]=='30'){count=count-1} 81var i=0;var isHalf=!1;if(open[1]=='30'){isHalf=!0} 82var h=open[0]*1;var s=as_scheduler_payload();if(s&&isToday(selected)&&s.same_day==='Yes'){var today=new Date();h=today.getHours()+(Number(s.same_day_buffer)||0);count=(closeHour-h)*2-2;if(count>24){count=count-24}} 83var m=open[1];var hours=[];while(i<=count){if(m=='30'){hours.push(h+':'+m);m='00';h++}else{hours.push(h+':'+m);m='30'} 84i++} 85return hours} 86jQuery(document).ready(function(){try{gravityDatePickerFix()}catch(e){as_datepicker_warn('filter registration failed',e)} 87as_lock_datepicker_inputs()});jQuery(document).on('gform_post_render',as_lock_datepicker_inputs);gravityDatePickerFix();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.