1jQuery(document).ready(function($){$(document).foundation();function isValidPostcode(p){var postcodeRegEx=/[A-Z]{1,2}[0-9][0-9A-Z]? ?[0-9][A-Z]{2}/i;return postcodeRegEx.test(p);} 2function formatPostcode(p){p=p.replace(/\s/g,'') 3if(isValidPostcode(p)){var postcodeRegEx=/(^[A-Z]{1,2}[0-9][0-9A-Z]?)([0-9][A-Z]{2}$)/i;return p.replace(postcodeRegEx,"$1 $2").toUpperCase();}else{return p;}} 4function isValidBpNumber(p){p=p.replace(/\s/g,'');var BPRegEx=/(^[a-z][a-z][0-9][0-9][0-9][0-9][0-9][0-9])/i;return BPRegEx.test(p);} 5function updateTypeField(input){let hiddenValue='';switch(input){case'Additional Collection':case'Change Collection Schedule':case'Missed Collection':hiddenValue='Collection Query';break;case'Change of Account Details':case'Change of Contact details':hiddenValue='Change of Account Details';break;case'Do Not Reinstate':case'Increase Service Frequency':case'Decrease Service Frequency':case'Reinstate My Normal Services':hiddenValue='Frequency Change Request';break;case'Excess Weight':hiddenValue='Invoice query';break;case'Missed Delivery':hiddenValue='Missed delivery';break;case'Billing Query':case'Landfill Levy':hiddenValue='Billing Query';break;default:hiddenValue='';break;} 6console.log('input',input);console.log('hiddenValue',hiddenValue);$('#contactsalesforce #type').val(hiddenValue);} 7$("input#email").on({keydown:function(e){if(e.which===32) 8return false;},change:function(){this.value=this.value.replace(/\s/g,"");}});$(".waste_checkboxes input[type=checkbox]").change(function(){console.log($('.waste_checkboxes input[type=checkbox]:checked').length);let sList="";$('.waste_checkboxes input[type=checkbox]').each(function(){if(this.checked){sList+=$(this).val();if($('.waste_checkboxes input[type=checkbox]:checked').length>1){sList+=';';}}});$('#00N4J00000I1TVi').val(sList);});$("#00N4J00000I1InD").on('change',function(e){updateTypeField($(this).val());});if($('#contactsalesforce #type').length==1){setTimeout(function(){updateTypeField($('#00N4J00000I1InD').val());},300);} 9$("#00N4J00000I1InD").on('change',function(e){updateTypeField($(this).val());});$("#00N4J00000I1InD").on('change',function(e){updateTypeField($(this).val());});$("#contactsalesforce").on('submit',function(e){$this=$(this);$this.find('input').removeClass('invalid');$this.find('.error_message').remove();let hasError=false;let name=$this.find('#name');if(name.val()==''){hasError=true;name.addClass('invalid');if($this.find('.nameerror').length<=0){$('<span class="error_message nameerror">Name is required.</span>').insertAfter(name);}} 10let description=$this.find('#description');if(description.val()==''){hasError=true;description.addClass('invalid');if($this.find('.descriptionerror').length<=0){$('<span class="error_message descriptionerror">Description is required.</span>').insertAfter(description);}} 11let email=$this.find('#email');if(email.val()==''){hasError=true;email.addClass('invalid');if($this.find('.emailerror').length<=0){$('<span class="error_message emailerror">Email is required.</span>').insertAfter(email);}} 12if(!email.val().match(/[a-z0-9\._%+!$&*=^|~#%'`?{}/\-]+@([a-z0-9\-]+\.){1,}([a-z]{2,16})/)){hasError=true;email.addClass('invalid');if($this.find('.emailerror').length<=0){$('<span class="error_message emailerror">Email is invalid.</span>').insertAfter(email);}} 13let reason=$this.find('#00N4J00000I1InD');if(reason.val()==''){hasError=true;reason.addClass('invalid');if($this.find('.reasonlerror').length<=0){$('<span class="error_message reasonerror">Reason is required.</span>').insertAfter(reason);}} 14let bpnumber=$this.find('#00N4J00000J3Tz4');if(isValidBpNumber(bpnumber.val())){bpnumber.val(bpnumber.val().toUpperCase());} 15if(!isValidBpNumber(bpnumber.val())){hasError=true;bpnumber.addClass('invalid');if($this.find('.bperror').length<=0){$('<span class="error_message bperror">Your BP should appear as BP000000.</span>').insertAfter(bpnumber);}} 16if(bpnumber.val()==''){hasError=true;bpnumber.addClass('invalid');if($this.find('.bperror').length<=0){$('<span class="error_message bperror">BP number is required.</span>').insertAfter(bpnumber);}} 17let postcode=$this.find('#00N4J00000J3Tz5');if(postcode.val()==''){hasError=true;postcode.addClass('invalid');if($this.find('.postcodeerror').length<=0){$('<span class="error_message postcodeerror">Postcode is required.</span>').insertAfter(postcode);}} 18if(!isValidPostcode(postcode.val())){hasError=true;postcode.addClass('invalid');if($this.find('.postcodeerror').length<=0){$('<span class="error_message postcodeerror">
18Postcode entered is not valid.</span>').insertAfter(postcode);}} 19if(hasError){if($this.find('.validation_error').length<=0){$this.prepend('<span class="validation_error">There was a problem with your submission. Errors have been highlighted below.</span>');} 20return false;}});const carousel=$('.owl-cta');const recommended_reading=$('.owl-recommended-reading');const testimonials=$('.owl-testimonials');if(recommended_reading){recommended_reading.owlCarousel({responsive:{0:{items:1,dots:true},1024:{items:2,dots:false}}});checkClasses();recommended_reading.on('translated.owl.carousel, resized.owl.carousel',function(event){checkClasses();});} 21if(carousel){carousel.owlCarousel({dots:false,navText:["<i class='fas fa-arrow-left'>","<i class='fas fa-arrow-right'>"],responsive:{0:{items:1,nav:true},901:{items:2,nav:true},1201:{items:4,nav:false}}});checkClasses();carousel.on('translated.owl.carousel, resized.owl.carousel',function(event){checkClasses();});} 22if(testimonials){testimonials.owlCarousel({dots:false,nav:true,loop:true,margin:50,navText:["<i class='fas fa-arrow-left'>","<i class='fas fa-arrow-right'>"],autoplay:true,autoplayTimeout:6000,autoplayHoverPause:true,responsive:{0:{items:1},901:{items:2},1201:{items:2}}});checkClasses();testimonials.on('translated.owl.carousel, resized.owl.carousel',function(event){checkClasses();});} 23function checkClasses(){var total=$('.owl-carousel .owl-stage .owl-item.active').length;$('.owl-carousel .owl-stage .owl-item').removeClass('firstActiveItem lastActiveItem');$('.owl-carousel .owl-stage .owl-item.active').each(function(index){if(index===0){$(this).addClass('firstActiveItem');} 24if(index===total-1&&total>1){$(this).addClass('lastActiveItem');}});} 25document.addEventListener('animationstart',function(e){if(e.animationName==='fade-in'){e.target.classList.add('did-fade-in');}});document.addEventListener('animationend',function(e){if(e.animationName==='fade-out'){e.target.classList.remove('did-fade-in');}});$('a[href*="#"]').not('[href="#"]').click(function(event){if(location.pathname.replace(/^\//,'')==this.pathname.replace(/^\//,'')&&location.hostname==this.hostname){var target=$(this.hash);target=target.length?target:$('[name='+this.hash.slice(1)+']');if(target.length){event.preventDefault();$('html, body').animate({scrollTop:target.offset().top-20},1000,function(){var $target=$(target);$target.focus();if($target.is(":focus")){return false;}else{$target.attr('tabindex','-1');$target.focus();}});}}});var windowWidth=$(window).width();$(window).resize(function(){if($(window).width()!=windowWidth){windowWidth=$(window).width();$('.search_menu_toggle_button').attr('aria-expanded',false);$('.main_menu_toggle_button').attr('aria-expanded',false);$('.main_menu').removeClass('main_menu_visible');$('.search_menu').removeClass('search_menu_visible');$('.header_main').removeClass('menu_open');$('.menu_expander').attr('aria-expanded',false);$('.sub_menu_open').removeClass('sub_menu_open');$('.menu_expander').closest('li').removeClass('has_menu_open');}});$('.menu_expander').on('click',function(){$(this).closest('li').siblings().removeClass('has_menu_open');$(this).closest('li').toggleClass('has_menu_open');});$('.main_menu_toggle_button').on('click',function(){if($(this).attr('aria-expanded')==='true'){$('.header_main').removeClass('menu_open');}else{$('.header_main').addClass('menu_open');} 26$('.search_menu_toggle_button').attr('aria-expanded',false);$('.get_quote_form').removeClass('visible');$('header').removeClass('dark');$('.search_menu').removeClass('search_menu_visible');});$('.search_menu_toggle_button').on('click',function(){if($(this).attr('aria-expanded')==='true'){$('.header_main').removeClass('menu_open');}else{$('.header_main').addClass('menu_open');} 27$('.main_menu_toggle_button').attr('aria-expanded',false);$('.sub_menu_open').removeClass('sub_menu_open');$('.menu_expander').closest('li').removeClass('has_menu_open');$('.get_quote_form').removeClass('visible');$('header').removeClass('dark');$('.main_menu').removeClass('main_menu_visible');});$('.header_get_quote').on('click',function(){$('.header_main').removeClass('menu_open');$('.main_menu_toggle_button').attr('aria-expanded',false);$('.search_menu_toggle_button').attr('aria-expanded',false);$('.sub_menu_open').removeClass('sub_menu_open');$('.menu_expander').closest('li').removeClass('has_menu_open');$('.main_menu').removeClass('main_menu_visible');$('.search_menu').removeClass('search_menu_visible');$('.get_quote_form').toggleClass('visible');$('header').toggleClass('dark');});$('.single_post_form_container .free-quote').on('click',function(){$("html, body").animate({scrollTop:0},"fast");$('.header_main').removeClass('menu_open');$('.main_menu_toggle_button').attr('aria-expanded',false);$('.search_menu_toggle_button').attr('aria-expanded',false);$('.sub_menu_open').removeClass('sub_menu_open');$('.menu_expander').closest('li').removeClass('has_menu_open');$('.main_menu').removeClass('main_menu_visible');$('.search_menu').removeClass('search_menu_visible');$('.get_quote_form').toggleClass('visible');$('header').toggleClass('dark');});$('.single_location_default_get_a_quote').on('click',function(){$('html, body').animate({scrollTop:0},1000,function(){});$('.header_main').removeClass('menu_open');$('.main_menu_toggle_button').attr('aria-expanded',false);$('.search_menu_toggle_button').attr('aria-expanded',false);$('.sub_menu_open').removeClass('sub_menu_open');$('.menu_expander').closest('li').removeClass('has_menu_open');$('.main_menu').removeClass('main_menu_visible');$('.search_menu').removeClass('search_menu_visible');$('.get_quote_form').toggleClass('visible');$('header').toggleClass('dark');});$('.payment_confirmation .form_footer button.cancel').on('click',function(e){e.preventDefault();window.history.back();});const videoOverlay=jQuery('.video-overlay');$('.blog-archive').on('click','.video_wrapper',function(e){e.preventDefault();e.stopImmediatePropagation();const videoSrc=jQuery(this).attr('href');console.log("Video",videoSrc);videoOverlay.find('.video-overlay__inner').html('<iframe width="100%" height="100%" src="'+videoSrc+'" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>') 28videoOverlay.find('iframe').attr('src',videoSrc);videoOverlay.removeClass('hidden');console.log("Watching Video");});videoOverlay.on('click',function(e){jQuery(e.target).addClass('hidden');})});jQuery(function($){var getUrlParameter=function getUrlParameter(sParam){var sPageURL=decodeURIComponent(window.location.search.substring(1)),sURLVariables=sPageURL.split('&'),sParameterName,i;for(i=0;i<sURLVariables.length;i++){sParameterName=sURLVariables[i].split('=');if(sParameterName[0]===sParam){return sParameterName[1]===undefined?true:sParameterName[1];}}};var searchXHR=false;var $loadMore=$('.load-more');function ajaxSearchHandler(page) 29{if(searchXHR!=false) 30searchXHR.abort();searchXHR=$.ajax({type:'get',url:ajax_loadmore_params.ajaxurl,data:{action:$loadMore.data('action'),string:getUrlParameter('string'),page:page,post_type:$loadMore.data('post-type'),duration:getUrlParameter('duration')},dataType:'json'}).done(function(response) 31{if(response.success) 32{$loadMore.data('page',response.data.page);if(response.data.page==-1) 33{$loadMore.addClass('hidden').hide();} 34else 35{$loadMore.removeClass('hidden');}}});return searchXHR;}
36$loadMore.on('click',function(e){e.preventDefault();var $this=$(this);var page=$this.data('page');var post_type=$this.data('post-type');if(page==-1) 37return;$loadMore.addClass('loading');var xhr=ajaxSearchHandler(page);xhr.done(function(response) 38{$loadMore.removeClass('loading');if(response.success) 39{if(response.data.results_html!='') 40{$('.blog-archive').append(response.data.results_html);}}});});const $filters=$('.nav-item');$filters.on('click',function(e){e.preventDefault();e.stopImmediatePropagation();const $navItem=$(this);const filterType=$navItem.data('type');$filters.removeClass('nav-item--active');$navItem.addClass('nav-item--active');$loadMore.addClass('loading');const xhr=ajaxSearchHandler(0,filterType);xhr.done(function(response){$loadMore.removeClass('loading');if(response.success){if(response.data.results_html!=''){$('.blog-archive').empty();$('.blog-archive').append(response.data.results_html);}}});});const form=$('#gform_wrapper_7');const page1=form.find('#gform_page_7_1');const footer=page1.find('.gform_page_footer');const page2=form.find('#gform_page_7_2');const footer2=page2.find('.gform_page_footer');const page2content=$('.service_enquiry_content');page1.find('.gfield').on('change',function(){const $this=$(this);const id=$this.attr('id');if(id==="field_7_27"){const val=$this.find('input:checked').val();console.log("Value",val);if(val==="Residential"){page1.find('.gfield').removeClass("gfield_visibility_visible");page1.find('.gfield').addClass("gfield_visibility_hidden");$this.removeClass("gfield_visibility_hidden");$this.addClass("gfield_visibility_visible");$this.after("<div class='not-offered'>Sorry we currently do not support this service.</div>");return;}else{page1.find('.not-offered').remove();}} 41$(this).next('.gfield').removeClass('gfield_visibility_hidden');$(this).next('.gfield').addClass('gfield_visibility_visible');});const businessTypeOptions=page1.find('#field_7_3').find('select').children();console.log("Options",businessTypeOptions);page1.find('#field_7_2').on('change',function(){const selected=$(this).find('select').children('option:selected');console.log(selected.val());console.log("Business Type Changed");const businessTypes=page1.find('#field_7_3').find('select');businessTypes.html("");businessTypes.append(businessTypeOptions.filter('[value="Please Select"]'));switch(selected.val()){case"Offices":businessTypes.append(businessTypeOptions.filter('[value="Large Office"]'));businessTypes.append(businessTypeOptions.filter('[value="Small Office"]'));businessTypes.append(businessTypeOptions.filter('[value="Charity"]'));break;case"Leisure and Hospitality":businessTypes.append(businessTypeOptions.filter('[value="Restaurant"]'));businessTypes.append(businessTypeOptions.filter('[value="Takeaway"]'));businessTypes.append(businessTypeOptions.filter('[value="Public House and Bar"]'));businessTypes.append(businessTypeOptions.filter('[value="Food Processing / Butcher / Baker"]'));break;case"General Retail":businessTypes.append(businessTypeOptions.filter('[value="Retail"]'));businessTypes.append(businessTypeOptions.filter('[value="Pet Store / Groomer"]'));businessTypes.append(businessTypeOptions.filter('[value="Ecommerce"]'));businessTypes.append(businessTypeOptions.filter('[value="Convenience Store"]'));businessTypes.append(businessTypeOptions.filter('[value="Grocery Store"]'));businessTypes.append(businessTypeOptions.filter('[value="Clothing / Speciality Store"]'));businessTypes.append(businessTypeOptions.filter('[value="Charity"]'));break;case"Industry / Heavy Plant":businessTypes.append(businessTypeOptions.filter('[value="Landscaping or Garden Services"]'));businessTypes.append(businessTypeOptions.filter('[value="Garage or Car Maintenance"]'));businessTypes.append(businessTypeOptions.filter('[value="Building / Maintenance of Property"]'));businessTypes.append(businessTypeOptions.filter('[value="Textile"]'));break;case"Health, Care and Beauty":businessTypes.append(businessTypeOptions.filter('[value="Hairdressing and other beauty treatment"]'));businessTypes.append(businessTypeOptions.filter('[value="Nursing Home"]'));businessTypes.append(businessTypeOptions.filter('[value="Nursery"]'));businessTypes.append(businessTypeOptions.filter('[value="Aesthetics"]'));businessTypes.append(businessTypeOptions.filter('[value="Tattoo Parlour"]'));businessTypes.append(businessTypeOptions.filter('[value="Doctors / Pharmacy"]'));businessTypes.append(businessTypeOptions.filter('[value="Health Club / Gym"]'));break;} 42businessTypes.append(businessTypeOptions.filter('[value="Other"]'));});page1.find('.gfield:last-of-type').on('change',function(){footer.css('visibility','visible');});const nextButton=$('#gform_wrapper_7').find('#gform_page_7_1').find('.gform_page_footer').find('.gform_next_button');const onClick=nextButton.attr('onclick');const onPress=nextButton.attr('onkeypress');
42const newNextButton=$('<div class="next-page">Submit <i class="fas fa-arrow-right"></i></div>');const newNextButton2=$('<div class="free-quote"><i class="fas fa-comment"></i>Get a free quote</div>');const newNextButton3=$('<div class="free-quote"><i class="fas fa-comment"></i>Get a free quote</div>');const newPrevButton=$('<div class="retake-survey"><i class="fas fa-arrow-left"></i>Retake Survey</div>');newNextButton.attr('onclick',onClick);newNextButton.attr('onkeypress',onPress);footer.append(newNextButton);footer2.append(newNextButton2);footer2.prepend(newPrevButton);footer.on('click','.next-page',function(e){footer.find('.gform_next_button').click();console.log("Pressed");});footer2.on('click','.free-quote',function(e){footer2.find('.gform_next_button').click();});$('.left_inner').on('click','.free-quote',function(e){footer2.find('.gform_next_button').click();});footer2.on('click','.retake-survey',function(e){window.location.href=window.location.href;});setTimeout(function(){const curPage=$('#gform_target_page_number_7').val();if(curPage==3){newNextButton3.insertAfter(page2content);console.log("Is Current");const services=$('.service:visible');services.each(function(){console.log(this);const $this=$(this);const id=$this.data('id');const isVisible=$this.is(':visible');console.log("ID",id,"Visible",isVisible);if(isVisible){$("#"+id).attr('checked','checked');}})}},500);});
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.