/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ (function($,Drupal){var dataLayer=window.dataLayer=window.dataLayer||[];window.triggerWebengageEventFromDataLayer=(dLayerObject)=>{return true;};if(gtm_enabled){window.addEventListener('DOMContentLoaded',function(){if(drupalSettings.sobha_event){var {pageName,pageType,propertyName,propertyType,projectId,projectName,projectCategory,mediaContentType,mediaContentId,mediaContentName}=drupalSettings.sobha_event;if(pageName&&pageType){var dLayerObject={'event':'pageViewTracker','custom_event_name':'pageViewLoad','page_name':pageName.trim().toLowerCase(),'page_type':pageType.trim().toLowerCase(),'event_weightage':1};if(propertyName)dLayerObject.property_name=propertyName.trim().toLowerCase();if(propertyType)dLayerObject.property_type=propertyType.trim().toLowerCase();if(projectId&&projectName){dLayerObject.project_id=projectId.trim().toLowerCase();dLayerObject.project_name=projectName.trim().toLowerCase();}if(projectCategory){if(projectCategory==='empty')projectCategory='';dLayerObject.project_category=projectCategory.trim();}if(mediaContentType)dLayerObject.media_content_type=mediaContentType.trim().toLowerCase();if(mediaContentId&&mediaContentName){dLayerObject.media_content_id=mediaContentId.trim().toLowerCase();dLayerObject.media_content_name=mediaContentName.trim().toLowerCase();}if(drupalSettings.sobha_event?.pageType==='wishlist')dLayerObject={'event':'eventTracker','custom_event_name':'view_wishlist','event_weightage':2};dataLayer.push(dLayerObject);console.log('Page Load event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}if(drupalSettings.sobha_event?.mediaContentId){var timeSpent=0;var timeLimit=20*1000;console.log('Media engagement timer started');var engagementTimer=setInterval(function(){timeSpent+=1000;if(timeSpent>=timeLimit){clearInterval(engagementTimer);let dLayerObject={'event':'eventTracker','custom_event_name':'content_engagement_bucketed','media_content_type':drupalSettings.sobha_event.mediaContentType.trim().toLowerCase(),'media_content_id':drupalSettings.sobha_event.mediaContentId,'media_content_name':drupalSettings.sobha_event.mediaContentName.trim().toLowerCase(),'event_weightage':3};dataLayer.push(dLayerObject);console.log(`Media engagement: 20 seconds`,dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}},1000);}}if(window.location.pathname==='/search'||window.location.pathname==='/ar/search'){let urlParams=new URLSearchParams(window.location.search);let searchTerm=urlParams.get('searchterm')??'';let totalCount=$('#search-result-total-count').text().trim();let dLayerObject={'event':'eventTracker','custom_event_name':'search_success','search_term':searchTerm,'search_result_count':totalCount?totalCount:'0','event_weightage':3};dataLayer.push(dLayerObject);console.log('Search successfull event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});$(document).ready(function(){$.get(window.location.href).fail(function(jqXHR,textStatus,errorThrown){var name='';var message='';if(jqXHR.status==403){name='access denied';message='User does not have enough permission';}else{if(jqXHR.status==404){name='incorrect url';message='Page not found';}}if(name&&message){var dLayerObject={'event':'eventTracker','custom_event_name':'error_occured','error_code':jqXHR.status,'error_name':name,'error_message':message};dataLayer.push(dLayerObject);console.log('Error event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});});}Drupal.behaviors.sobhaEvents={attach:function(context,settings){$(document).ready(function(){var dataLayer=window.dataLayer=window.dataLayer||[];if(gtm_enabled){function getBannerPositionByDocument(bannerElement){var rect=bannerElement[0].getBoundingClientRect();var totalHeight=document.documentElement.scrollHeight;var elementTop=rect.top+window.scrollY;var elementPositionPercentage=(elementTop/totalHeight)*100;var position='center';if(elementPositionPercentage<20)position='top';else if(elementPositionPercentage>=70)position='bottom';else position='center';return position;}function getBannerPosition(banner){var bannerPosition='hero banner';if($(banner).closest('.latest-launch-section').length>0)bannerPosition='property_listing';if($(banner).closest('.sobha-stories-sec').length>0)bannerPosition='media';if($(banner).closest('.career-banner-slider').length>0)bannerPosition='career';if(bannerPosition=='hero banner'){var bannerPosition=getBannerPositionByDocument($(banner));switch(bannerPosition){case "top":bannerPosition='hero banner';break;case "center":bannerPosition='middle banner';break;case "bottom":bannerPosition='footer banner';break;default:break;}}return bannerPosition;}var bannerVisibility={};var observer=new IntersectionObserver(function(entries,observer){entries.forEach(function(entry){var banner=$(entry.target);var bannerId=$(banner).data('bannerid');var ctaName=false;if(entry.isIntersecting&&!bannerVisibility[bannerId]){var bannerId=$(banner).data('bannerid');var bannerUploadDate=$(banner).data('upload-date');var bannerPosition=getBannerPosition($(banner));var bannerName=$(banner).attr('alt')??'';var bannerSequenceNumber="1";if($(banner).closest('.swiper-slide').length>0)if($(banner).closest('.swiper-slide').data('swiper-slide-index'))bannerSequenceNumber=String($(banner).closest('.swiper-slide').data('swiper-slide-index')+1);if($(banner).closest('.home-banner').length>0)ctaName=$(banner).closest('.home-banner').find('.explore-more-arrow a.homepage-hero-banner-cta').text().trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'banner_impression','banner_name':bannerName?bannerName.trim().toLowerCase():'','banner_id':bannerId??"",'banner_position':bannerPosition,'banner_upload_date':bannerUploadDate??"",'banner_sequence_number':bannerSequenceNumber,'event_weightage':1};if(ctaName)dLayerObject.cta_name=ctaName;dataLayer.push(dLayerObject);console.log('Banner impression event, data pushed to dataLayer:',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);bannerVisibility[bannerId]=true;}});},{threshold:0.7});$('img.impression-banner').each(function(){observer.observe(this);});jQuery('a img.impression-banner').click(function(){var banner=$(this);var bannerId=$(banner).data('bannerid');var bannerUploadDate=$(banner).data('upload-date');var bannerPosition=getBannerPosition($(banner));var bannerName=$(banner).attr('alt')??'';var bannerSequenceNumber="1";if($(banner).closest('.swiper-slide').length>0)bannerSequenceNumber=String($(banner).closest('.swiper-slide').data('swiper-slide-index')+1);var dLayerObject={'event':'eventTracker','custom_event_name':'banner_interaction','banner_name':bannerName?bannerName.trim().toLowerCase():'','banner_id':bannerId,'banner_position':bannerPosition,'banner_upload_date':bannerUploadDate,'banner_sequence_number':bannerSequenceNumber,'event_weightage':2};dataLayer.push(dLayerObject);console.log('Banner interaction event triggered: ',dLayerObject);});jQuery(once("takeover-banner-click",'#webbanner .buttons-box a')).click(function(){var buttonName=$(this).text().toString().toLowerCase();let banner=$(this).closest('#webbanner').find('img.impression-banner').eq(0);var bannerId=$(banner).data('bannerid');var bannerUploadDate=$(banner).data('upload-date');var bannerName=$(banner).attr('alt').trim().toLowerCase().replace(/ /g,"_")??'';let dLayerObject={'event':'eventTracker','custom_event_name':'takeover_banner_click','banner_name':`takeover_${bannerName}`,'banner_id':bannerId,'banner_position':'takeover banner','banner_upload_date':bannerUploadDate,'banner_sequence_number':1,'cta_name':buttonName,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Takeover banner click event triggered: ',dLayerObject);});jQuery(once("menu-level-one",'#slide-nav a.level-1-menu')).click(function(e){var nav_cta_name=$(this).data('translated-text').trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'nav_megamenu','nav_cta_name':nav_cta_name};dataLayer.push(dLayerObject);console.log('Main navigation click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});$(once('sub-menu-click','li.showSingle a, li.level-4-list a, .mobile-megamenu-sub-link a')).click(function(e){var category=$(this).closest('.menu-item-has-children').find('.level-1-menu').data('translated-text').trim().toLowerCase();if($(this).data('translated-text'))var subcategory=$(this).data('translated-text').trim().toLowerCase();else var subcategory=$(this).text().trim().toLowerCase();var navCtaName=`${category}:${subcategory}`;var dLayerObject={'event':'eventTracker','custom_event_name':'sub_nav','nav_cta_name':navCtaName};dataLayer.push(dLayerObject);console.log('Sub navigation click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once("sobha-logo",'header .logo-sec a, header a.logo-sec, footer .footer-logo img')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'logo_click','logo_position':$(this).closest('.footer-logo').length?'footer':'header'};dataLayer.push(dLayerObject);console.log('Site logo click event: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once("footer-menu",'.footer-links a, .footer-bottom-col-right a')).click(function(e){if($(this).closest('.google-review').length>0)return;if($(this).hasClass('app-links')){var dLayerObject={"event":'eventTracker',"custom_event_name":"app_download","app_details":$(this).hasClass("appstore")?"ios":"android","event_weightage":3};dataLayer.push(dLayerObject);console.log('App download click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}else{if($(this).data('translated-text'))var menuTitle=$(this).data('translated-text').trim().toLowerCase();else var menuTitle=$(this).text().trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'nav_footer','nav_cta_name':menuTitle};dataLayer.push(dLayerObject);console.log('Footer navigation click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});if(jQuery('.latest-launch-section').length>0)jQuery(once("homepage-property-banner",'.latest-launch-section .latest-launch-slider .new-launch-banner img')).click(function(e){var property=$(this).closest('.swiper-slide').data('title').trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'property_banner_interaction','banner_name':property,'property_name':property,'event_weightage':2};dataLayer.push(dLayerObject);console.log('Homepage properties banner click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.sobha-stories-sec').length>0)jQuery(once("homepage-press-release-banner",'.sobha-stories-sec a.s-stories-slide-box')).click(function(e){var title=$(this).closest('.swiper-slide').find('.story-title h4').data('translated-text').trim().toLowerCase();var contentId=$(this).closest('.swiper-slide').data('contentid');var dLayerObject={'event':'eventTracker','custom_event_name':'press_release_banner_interaction','banner_name':title,'media_content_type':'press release','media_content_id':contentId,'media_content_name':title,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Homepage press release banner click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.art-of-detail-sec').length>0)jQuery(once("homepage-discover-link",'.art-of-detail-sec a')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'home_discover_more','event_weightage':1};dataLayer.push(dLayerObject);console.log('Homepage discover more click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.latest-launch-section').length>0)jQuery(once("homepage-explore-link",'.latest-launch-section .button-main a.button-1')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'explore_all_property'};dataLayer.push(dLayerObject);console.log('Homepage explore property click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.sobha-stories-sec').length>0)jQuery(once("homepage-viewall-press-release-link",'.sobha-stories-sec .button-main a.view-all')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'view_all_press_release'};dataLayer.push(dLayerObject);console.log('Homepage viewall press release click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.our-reports-sec').length>0||jQuery('.report-box-content').length>0)jQuery(once("about-pdf",`.our-reports-sec .our-reports-banner .button-main a.button-1, .report-box-content a.download-button`)).click(function(e){var title='';if($(this).closest('.report-box-content').length>0)title=$(this).closest('.report-box-content').find('h4').data('translated-text').trim().toLowerCase();else title=$(this).closest('.our-reports-banner').find('h5').eq(0).text().trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'pdf_download','pdf_name':title,'event_weightage':3};dataLayer.push(dLayerObject);console.log('PDF download click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.community-lists').length>0)jQuery(once("community-discover-link",'.community-lists .community-slider-row a.button-1')).click(function(e){var title=$(this).data('title')?.trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'community_discover_more','property_name':title??"",'event_weightage':1};dataLayer.push(dLayerObject);console.log('Homepage discover more click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.amenities-list-of-community').length>0)jQuery(once("community-property",'.amenities-list-of-community .each-amenities-content .sub-property-links a')).click(function(e){var title=$(this).data('translated-text').trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'property_click','property_name':title,'event_weightage':2};dataLayer.push(dLayerObject);console.log('Community detail page property click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if($('.amenities-list-of-community').length>0||$('#footer-common-form').length>0||$('.listing-wrapper .category-lists-slider .category-button').length>0)jQuery(once("community-tab",`.amenities-list-of-community #navigation a, #footer-common-form button.tablinks, .listing-wrapper .category-lists-slider .category-button`)).click(function(e){var tabName=$(this).text().trim().toLowerCase();if($(this).data('translated-text'))var tabName=$(this).data('translated-text').trim().toLowerCase();if($(this).find('.link-title').length>0)var tabName=$(this).find('.link-title').data('translated-text').trim().toLowerCase();else{if($(this).find('.nodeTitle').length>0)var tabName=$(this).find('.nodeTitle').data("translated-text").trim().toLowerCase();}var dLayerObject={'event':'eventTracker','custom_event_name':'tab_interaction','tab_name':tabName,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Community detail page tabs click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.listing-section-wrapper .listing-div').length>0||$('.listing-wrapper .river-side-row').length>0){jQuery(once('properties-click-listing-page','.listing-section-wrapper .listing-div h5 a, .listing-section-wrapper .listing-div .button-main a, .listing-section-wrapper .listing-div a.map-address-anchor')).click(function(e){var eventName='property_click';var eventWeightage=2;if($(this).hasClass('map-address-anchor')){eventName='view_location';eventWeightage=1;}var parentDiv=$(this).closest('.listing-div');var propertyName=$(parentDiv).data('group-property');var unitType=$(parentDiv).find('p.no-of-bedrooms').data('unit-type')?.trim().toLowerCase();var propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();if($(parentDiv).find('h5 a').length>0)var projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else var projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();var priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;var dLayerObject={'event':'eventTracker','custom_event_name':eventName,'project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType,'property_price_range':priceRange,'event_weightage':eventWeightage};dataLayer.push(dLayerObject);console.log('Property listing page property click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once('properties-click-listing-page','.listing-wrapper .river-side-row a.learn-more')).click(function(e){var parentDiv=$(this).closest('.listing-div');var propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();var unitType=false;if($(this).closest('.river-side-list-right').find('p.no-of-bedrooms').length>0)unitType=$(this).closest('.river-side-list-right').find('p.no-of-bedrooms').data('translated-text').trim().toLowerCase();var propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();var projectName=$(this).closest('.river-side-list-right').find('h5').data('translated-text').trim().toLowerCase();var priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;var dLayerObject={'event':'eventTracker','custom_event_name':'property_click','project_name':projectName,'property_name':propertyName,'property_type':propType,'property_price_range':priceRange,'event_weightage':2};if(unitType)dLayerObject.unit_type=unitType;dataLayer.push(dLayerObject);console.log('Property listing page property click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once('properties-social-share','.listing-section-wrapper .listing-div .white-social-div a')).click(function(e){var ctaName=$(this).data('translated-text').trim().toLowerCase();var eventName='property_social_share';var parentDiv=$(this).closest('.listing-div');var propertyName=$(parentDiv).data('group-property');var unitType=$(parentDiv).find('p.no-of-bedrooms').data('unit-type')?.trim().toLowerCase();var propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();if($(parentDiv).find('h5 a').length>0)var projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else var projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();var priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;var dLayerObject={'event':'eventTracker','custom_event_name':eventName,'cta_name':ctaName,'project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType,'property_price_range':priceRange,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Property listing page social share event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});}if(jQuery('.for-propert-detail-page-second-wrapper').length>0){jQuery(once('properties-detail-page-brochure','.for-propert-detail-page-second-wrapper .project-detail-download-btn a')).click(function(e){var propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();var unitType=false;if($('#project-detail-units').length>0)unitType=$('#project-detail-units').data('unit-type').trim().toLowerCase();var propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();var projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'download_brochure','project_name':projectName,'property_name':propertyName,'property_type':propType,'event_weightage':3};if(unitType)dLayerObject.unit_type=unitType;dataLayer.push(dLayerObject);console.log('Property detail page brochure click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once('properties-detail-page-brochure','.riverside-lisiting .button-main a.download-brochure')).click(function(e){var propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();var unitType=false;if($(this).closest('.river-side-list-right').find('p.no-of-bedrooms').length>0)unitType=$(this).closest('.river-side-list-right').find('p.no-of-bedrooms').data('translated-text').trim().toLowerCase();var propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();var projectName=$(this).closest('.river-side-list-right').find('h5').data('translated-text').trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'download_brochure','project_name':projectName,'property_name':propertyName,'property_type':propType,'event_weightage':3};if(unitType)dLayerObject.unit_type=unitType;dataLayer.push(dLayerObject);console.log('Property detail page brochure click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});}if(jQuery('.virtual-floor-plan-wrapper').length>0)jQuery(once('properties-floorplan-download','.virtual-floor-plan-wrapper .floor-plan .swiper-slide a')).click(function(e){var propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();var unitType=$(this).closest('.virtual-floor-plan-wrapper').find('.category-button.active').data("translated-text").trim().toLowerCase().replace('br','bedroom');var propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();var projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'download_floor_plan','project_name':projectName,'property_name':propertyName,'property_type':propType,'unit_type':unitType,'event_weightage':3};dataLayer.push(dLayerObject);console.log('Property detail page floor plan download event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.virtual-floor-plan-wrapper').length>0)jQuery(once('properties-floorplan-interaction','.virtual-floor-plan-wrapper #virtual-tour-tab-slider .category-button')).click(function(e){var propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();var unitType=$(this).data("translated-text").trim().toLowerCase().replace('br','bedroom');var propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();var projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'floor_plan_interaction','project_name':projectName,'property_name':propertyName,'property_type':propType,'unit_type':unitType,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Property detail page floor plan interaction event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.career-lists-sec').length>0)jQuery(once('career-job-apply','.career-lists-sec .accordion-item a.read-more')).click(function(e){var title=$(this).closest('.accordion-item').find('span.acc-title').data("translated-text").trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'apply_now','post_name':title,'event_weightage':1};dataLayer.push(dLayerObject);console.log('Career page apply now click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if(jQuery('.faq-section-common button.accordion-button').length>0)jQuery(once('faq-click','.faq-section-common button.accordion-button')).click(function(e){if($(this).find('.acc-qs-title .acc-title').data("translated-text"))var title=$(this).find('.acc-qs-title .acc-title').data("translated-text").trim().toLowerCase();else var title=$(this).find('.acc-qs-title .acc-title').text().trim().toLowerCase();if($(this).hasClass('collapsed'))return;var dLayerObject={'event':'eventTracker','custom_event_name':'faq_click','faq':title,'event_weightage':1};dataLayer.push(dLayerObject);console.log('FAQ click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});drupalSettings.initialise=true;var successAjaxEvent=Drupal.Ajax.prototype.eventResponse;Drupal.Ajax.prototype.eventResponse=function(element,event){if(this.$form&&(this.$form.attr('id')==='views-exposed-form-properties-mapping-block-1'||this.$form.attr('id')==='views-exposed-form-properties-mapping-block-6')){var form=`#${this.$form.attr('id')}`;var propertyType='all';var propertyTypes=$(form).find('select[name="field_property_type_target_id[]"]').val();var propertyTextValues=[];if(propertyTypes.length>0){propertyType='';$(form).find('select[name="field_property_type_target_id[]"] option:selected').each(function(){var text=$(this).text();var englishText=$(this).data('translated-text');if(englishText)propertyTextValues.push(englishText);else propertyTextValues.push(text);});propertyType=propertyTextValues.join(', ').toLowerCase();}var bedrooms=$(form).find('select[name="field_number_of_bedrooms_target_id"] option:selected');if(bedrooms.data('translated-text'))bedrooms=String(bedrooms.data('translated-text')).toLowerCase();else bedrooms=String(bedrooms.text()).toLowerCase();let projectCategory='';var price=$(form).find('select[name="field_price_range_target_id"] option:selected');if(price.data('translated-text'))price=String(price.data('translated-text')).toLowerCase();else price=String(price.text()).toLowerCase();switch(price){case "aed < 5m":projectCategory='B';break;case "aed 5m+ - 10m":projectCategory='B+';break;case "aed 10m+ - 15m":projectCategory='A';break;case "aed 15m+ - 20m":projectCategory='A';break;case "aed 10m+ - 20m":projectCategory='A';break;case "aed 20m+":projectCategory='A';break;default:projectCategory='';break;}var city=$(form).find('select[name="field_city_target_id"] option:selected');if(city.data('translated-text'))city=String(city.data('translated-text')).toLowerCase();else city=String(city.text()).toLowerCase();var location=$(form).find('select[name="field_property_location_target_id"] option:selected');if(location.data('translated-text'))location=String(location.data('translated-text')).toLowerCase();else location=String(location.text()).toLowerCase();if($('#properties-mapping-total-results').length>0)setTimeout(()=>{var totalResults=$('#properties-mapping-total-results').text().trim();var dLayerObject={'event':'eventTracker','custom_event_name':'filter_applied','filter_result_count':totalResults,'property_type':propertyType,'bedrooms':bedrooms,'price':price,'city':city,'location':location,'project_category':projectCategory,'event_weightage':2};if(drupalSettings.initialise&&event.isTrigger==undefined){drupalSettings.initialise=false;dataLayer.push(dLayerObject);console.log('Search with filters event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}},2000);}setTimeout(()=>drupalSettings.initialise=true,2500);successAjaxEvent.apply(this,arguments);};if(jQuery('#views-exposed-form-properties-mapping-block-1').length>0||jQuery('#views-exposed-form-properties-mapping-block-6').length>0){jQuery(once('reset-click',`#views-exposed-form-properties-mapping-block-1 .exp-reset, #views-exposed-form-properties-mapping-block-6 .exp-reset`)).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'filter_reset'};dataLayer.push(dLayerObject);console.log('Filter reset event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});jQuery(once('sort-by-click',`.filter-main.sort-filter-for-desktop select, form.views-exposed-form .filter-main.sort-filter-for-mobile select`)).change(function(e){let sortByName=$(this).find('option:selected').data('label');if(sortByName!=''){var dLayerObject={'event':'eventTracker','custom_event_name':'sort_by_price','sort_by':sortByName,'event_weightage':2};dataLayer.push(dLayerObject);console.log('Filter sort by event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});}jQuery(once("unique-lead-id",'form.webform-submission-form input[type="hidden"][name="unique_lead_id"]')).each(function(){if(typeof crypto.randomUUID!='undefined'){const uniqueId=crypto.randomUUID();jQuery(this).val(uniqueId);}else jQuery(this).val('');});if($('.webform-submission-form').length>0)$(once('enquiry-form-started','.webform-submission-form input, .webform-submission-form select')).on('focus',function(){if($(this).is('input[type="submit"]')||$(this).is('input[type="hidden"]')||!$(this).is(':visible')||$(this).closest('.webform-submission-form').hasClass('webform-submission-careers-form-form'))return;if($(this).is('input[name="preferred_mode_of_contact"]')&&$(this).closest('.webform-property-detail').length>0)return;var fieldName=$(this).attr('name');if(!fieldName)fieldName=$(this).siblings('input').attr('name');var formWrapperId=jQuery(this).closest('.webform-ajax-form-wrapper').attr('id');if(!formWrapperId)return;var webformId=formWrapperId.replace(/^webform-submission-/,'').replace(/-form-ajax.*/,'').replace(/-/g,'_');$('body').attr(`enquiry_form_last_field_${webformId}`,fieldName);if(!$('body').attr(`enquiry_form_tracked_${webformId}`)){$('body').attr(`enquiry_form_tracked_${webformId}`,true);var propertyType='';if($(this).closest('form').find('select[name="type"]').val()!=''){propertyType=$(this).closest('form').find('select[name="type"]').val();let propertyTypes={180:"apartments",181:"villas",182:"villaments",183:"penthouses"};propertyType=propertyTypes[propertyType]??'';}var propertyName='';if($(this).closest('form').find('select[name="property_type"]').val()!=='')if($('.node-title').data("translated-text"))propertyName=$('.node-title').data("translated-text").toLowerCase();else propertyName=$(this).closest('form').find('select[name="property_type"] option:selected').text().toLowerCase();var unitType='';if($(this).closest('form').find('select[name="unit_type"]').val()!==''){unitType=$('.footer-enquiry-form').find('select[name="unit_type"]').val();let unitTypes={2:"1 bedroom",3:"1.5 bedroom",4:"2 bedroom",5:"2.5 bedroom",6:"3 bedroom",7:"3.5 bedroom",8:"4 bedroom",9:"4.5 bedroom",10:"5 bedroom",11:"5.5 bedroom",12:"6 bedroom",384:"7 bedroom",446:"3 duplexes"};unitType=unitTypes[unitType]??'';}var contact_preference_mode=false;if($(this).closest('form').find('input[name="preferred_mode_of_contact"]').val()!=='')contact_preference_mode=$(this).closest('form').find(`input[name="preferred_mode_of_contact"]:checked`).next('label').text().toLowerCase();var formType='enquiry form';if($(this).closest('form').hasClass('webform-submission-google-discovery-campaign-channe-form')||$(this).closest('form').hasClass('webform-submission-channel-partner-registration-form'))formType='channel partner form';var dLayerObject={'event':'eventTracker','custom_event_name':'form_start','form_type':formType,'event_weightage':3};if(propertyType&&propertyName){dLayerObject.property_name=propertyName;dLayerObject.property_type=propertyType;}if(unitType)dLayerObject.unit_type=unitType;if(contact_preference_mode)dLayerObject.contact_preference_mode=contact_preference_mode;dataLayer.push(dLayerObject);console.log('Enquiry form start event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});if($('.webform-submission-careers-form-form').length>0)$(once('career-form-started','.webform-submission-careers-form-form input, .webform-submission-careers-form-form select')).on('focus',function(){if($(this).is('input[type="submit"]')||$(this).is('input[type="hidden"]')||!$(this).is(':visible'))return;var fieldName=$(this).attr('name');if(!fieldName)fieldName=$(this).siblings('input').attr('name');$('body').attr('career-form-last-field',fieldName);if(!$('body').attr('career-form-tracked')){$('body').attr('career-form-tracked',true);var dLayerObject={'event':'eventTracker','custom_event_name':'form_start','form_type':'job application form','event_weightage':3};dataLayer.push(dLayerObject);console.log('Career form start event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}});if(typeof Drupal.Ajax!=='undefined')if(typeof Drupal.Ajax.prototype.beforeSubmitOriginal==='undefined'){Drupal.Ajax.prototype.beforeSubmitOriginal=Drupal.Ajax.prototype.beforeSubmit;Drupal.Ajax.prototype.beforeSubmit=function(form_values,element_settings,options){if(typeof this.$form!=='undefined'&&($(this.$form).attr('id')=='views-exposed-form-properties-mapping-block-1'||$(this.$form).attr('id')=='views-exposed-form-properties-mapping-block-6'))if($('.desktop-filter-section').hasClass('filter-open')){$('.desktop-filter-section').removeClass('filter-open');$(".desktop-filter-section").removeClass("mobile");$('body').css('overflow','auto');}if($(element_settings).hasClass('webform-submission-form')&&typeof this.$form!=='undefined')setTimeout(()=>{if(!$(this.$form).hasClass('ajax-submit-prevented')&&$(this.$form).valid()){const self=this;let submission_values=form_values.reduce((acc,field)=>{acc[field.name]=field.value;return acc;},{});if(submission_values['unique_lead_id']&&$(self.$form).length>0){var form_type='enquiry form';if($(element_settings).hasClass('webform-submission-careers-form-form'))form_type='job application form';if($(self.$form).hasClass('webform-submission-google-discovery-campaign-channe-form')||$(self.$form).hasClass('webform-submission-channel-partner-registration-form'))form_type='channel partner form';var dLayerObject={'event':'eventTracker','custom_event_name':'form_submit_progress','form_type':form_type,'lead_reference_id':String(submission_values['unique_lead_id']),'event_weightage':10};if(submission_values['preferred_mode_of_contact']){var contactPrefModeVal=submission_values['preferred_mode_of_contact'];dLayerObject.contact_preference_mode=$(self.$form).find(`input[name="preferred_mode_of_contact"][value="${contactPrefModeVal}"]`).next('label').text().toLowerCase();}if(submission_values['property_name'])dLayerObject.project_name=submission_values['property_name'].toLowerCase();if(submission_values['property_type']){var projectId=submission_values['property_type'];var projectName=$(self.$form).find('select[name="property_type"] option[value="'+projectId+'"]');if(projectName.length>0)if(projectName?.data('property')!='')dLayerObject.property_name=projectName?.data('property')?.toLowerCase();}if(submission_values['type']){var typeId=submission_values['type'];var typeName=$(self.$form).find('select[name="type"] option[value="'+typeId+'"]');if(typeName.length>0)dLayerObject.property_type=typeName?.text().toLowerCase();}if(submission_values['unit_type']){var unitId=submission_values['unit_type'];var unitName=$(self.$form).find('select[name="unit_type"] option[value="'+unitId+'"]');if(unitName.length>0)dLayerObject.unit_type=unitName?.text().toLowerCase();}if(submission_values['budget']){var budgetId=submission_values['budget'];var budgetName=$(self.$form).find('select[name="budget"] option[value="'+budgetId+'"]');if(budgetName.length>0)dLayerObject.budget=budgetName?.text().toLowerCase();}if(submission_values['bed_enquired_for']){var budgetId=submission_values['bed_enquired_for'];var budgetName=$(self.$form).find('select[name="bed_enquired_for"] option[value="'+budgetId+'"]');if(budgetName.length>0)dLayerObject.budget=budgetName?.text().toLowerCase();}localStorage.setItem('latest_webform_submission',JSON.stringify(dLayerObject));dataLayer.push(dLayerObject);console.log('form submit progress event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}}},1);return Drupal.Ajax.prototype.beforeSubmitOriginal.apply(this,arguments);};}var appointmentPage=once('appointment-redirection','.schedule-cancel-reschedule');$(appointmentPage).each(function(){const appointmentPage=localStorage.getItem("appointment_page_redirect");if(appointmentPage==="true"){let latestWebformSubmission=JSON.parse(localStorage.getItem("latest_webform_submission"));if(latestWebformSubmission){latestWebformSubmission.custom_event_name='redirected_to_appointment_page';dataLayer.push(latestWebformSubmission);console.log('Appointment Page redirect event triggered: ',latestWebformSubmission);localStorage.setItem('appointment_redirect_event',JSON.stringify(latestWebformSubmission));}localStorage.removeItem("appointment_page_redirect");localStorage.removeItem("latest_webform_submission");}});var body=once('form-track-abondonment','body');$(body).each(function(){let abandonTimeout;var bodyElement=this;$('.modal').on('hidden.bs.modal',function(e){var modal=$(this);var careerFormAbondoned=$('body').attr('career-form-tracked');if(careerFormAbondoned){var lastField=$('body').attr('career-form-last-field');addDLayerFormAbandonmentCareer(lastField);}var enquiryFormsTracked=getEnuiryFormsTracked(bodyElement);if(enquiryFormsTracked.length>0)enquiryFormsTracked.forEach(function(name){var webformName=name.replace('enquiry_form_tracked_','');var webformEl=modal.find(`form.webform-submission-${webformName.replace(/_/g,'-')}-add-form`);if(webformEl.length>0){var lastFieldAttr=name.replace('enquiry_form_tracked','enquiry_form_last_field');var lastField=$('body').attr(lastFieldAttr);addDLayerFormAbondonmentEnquiry(lastField,webformEl);$('body').removeAttr(name);$('body').removeAttr(`enquiry_form_last_field_${webformName}`);}});});$('#slidingform').on('hidden.sobha.slidingModal',function(){var modal=$(this);var careerFormAbondoned=$('body').attr('career-form-tracked');if(careerFormAbondoned){var lastField=$('body').attr('career-form-last-field');addDLayerFormAbandonmentCareer(lastField);}var enquiryFormsTracked=getEnuiryFormsTracked(bodyElement);if(enquiryFormsTracked.length>0)enquiryFormsTracked.forEach(function(name){var webformName=name.replace('enquiry_form_tracked_','');var webformEl=modal.find(`form.webform-submission-${webformName.replace(/_/g,'-')}-add-form`);if(webformEl.length>0){var lastFieldAttr=name.replace('enquiry_form_tracked','enquiry_form_last_field');var lastField=$('body').attr(lastFieldAttr);addDLayerFormAbondonmentEnquiry(lastField,webformEl);$('body').removeAttr(name);$('body').removeAttr(`enquiry_form_last_field_${webformName}`);}});});$(window).on("beforeunload",function(){trackFormAbandonment();});$(window).on("pagehide",function(){trackFormAbandonment();});$(document).on("visibilitychange",function(){if(document.visibilityState==="hidden")abandonTimeout=setTimeout(trackFormAbandonment,10000);else clearTimeout(abandonTimeout);});function getEnuiryFormsTracked(bodyElement){var enquiryFormsTracked=[];var bodyAttributes=bodyElement.attributes;$.each(bodyAttributes,function(){if(this.name.startsWith('enquiry_form_tracked_'))enquiryFormsTracked.push(this.name);});return enquiryFormsTracked;}function addDLayerFormAbandonmentCareer(lastField){var dLayerObject={'event':'eventTracker','custom_event_name':'form_abandonment','form_abandonment_field':lastField,'form_type':'job application form'};dataLayer.push(dLayerObject);$('body').removeAttr('career-form-tracked');$('body').removeAttr('career-form-last-field');console.log('Form abondoned career form event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}function addDLayerFormAbondonmentEnquiry(lastField,webformEl){var formType='enquiry form';if($(webformEl).hasClass('webform-submission-google-discovery-campaign-channe-form')||$(webformEl).hasClass('webform-submission-channel-partner-registration-form'))formType='channel partner form';var dLayerObject={'event':'eventTracker','custom_event_name':'form_abandonment','form_abandonment_field':lastField,'form_type':formType};var propertyType='';if($(webformEl).find('select[name="type"]').val()!=''){propertyType=$(webformEl).find('select[name="type"]').val();let propertyTypes={180:"apartments",181:"villas",182:"villaments",183:"penthouses"};propertyType=propertyTypes[propertyType]??'';}var projectName='';if($(webformEl).find('select[name="property_type"]').val()!='')projectName=$(webformEl).find('select[name="property_type"] option:selected').text().toLowerCase();var propertyName='';if($(webformEl).find('select[name="property_type"]').val()!='')propertyName=$(webformEl).find('select[name="property_type"] option:selected').data('property')?.toLowerCase();var unitType='';if($(webformEl).find('select[name="unit_type"]').val()!=''){unitType=$(webformEl).find('select[name="unit_type"]').val();let unitTypes={2:"1 bedroom",3:"1.5 bedroom",4:"2 bedroom",5:"2.5 bedroom",6:"3 bedroom",7:"3.5 bedroom",8:"4 bedroom",9:"4.5 bedroom",10:"5 bedroom",11:"5.5 bedroom",12:"6 bedroom",384:"7 bedroom",446:"3 Duplexes"};unitType=unitTypes[unitType]??'';}var contact_preference_mode=false;if($(webformEl).find('input[name="preferred_mode_of_contact"]').val()!='')contact_preference_mode=$(webformEl).find(`input[name="preferred_mode_of_contact"]:checked`).next('label').text().toLowerCase();if(propertyType&&projectName){dLayerObject.project_name=projectName;dLayerObject.property_type=propertyType;}if(propertyName&&propertyName!='')dLayerObject.property_name=propertyName;if(unitType)dLayerObject.unit_type=unitType;if(contact_preference_mode)dLayerObject.contact_preference_mode=contact_preference_mode;dataLayer.push(dLayerObject);console.log('Form abondoned enquiry form event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}function trackFormAbandonment(){var careerFormAbondoned=$('body').attr('career-form-tracked');if(careerFormAbondoned){var lastField=$('body').attr('career-form-last-field');addDLayerFormAbandonmentCareer(lastField);}var enquiryFormsTracked=getEnuiryFormsTracked(bodyElement);if(enquiryFormsTracked.length>0)enquiryFormsTracked.forEach(function(name){var lastFieldAttr=name.replace('enquiry_form_tracked','enquiry_form_last_field');var lastField=$('body').attr(lastFieldAttr);var webformName=name.replace('enquiry_form_tracked_','');var webformEl=$(`form.webform-submission-${webformName.replace(/_/g,'-')}-add-form`);addDLayerFormAbondonmentEnquiry(lastField,webformEl);$('body').removeAttr(name);$('body').removeAttr(`enquiry_form_last_field_${webformName}`);});}});$.fn.sobhaFormSuccessEvent=function(data,webformId,webformWrapper){if(gtm_enabled){if(!data['unique_lead_id'])return;var webformEl=webformId;webformId=webformId.replace(/^webform_submission_/,'').replace(/_add_form.*/,'');let gclid=false;if(webformWrapper&&jQuery(`#${webformWrapper}`).closest('#slidingform').length>0)gclid=true;if(data['webform_name']==='job_application'){$('body').removeAttr('career-form-tracked');$('body').removeAttr('career-form-last-field');var dLayerObject={'event':'eventTracker','custom_event_name':'form_submit_success','form_type':'job application form','email':data.email??'','phone_number':data.phone??'','lead_reference_id':data['unique_lead_id']??'','event_weightage':10};dataLayer.push(dLayerObject);console.log('Career form success triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);}else{if(data['webform_name']==='enquiry_property_form'){var formType='enquiry form';$form=$(`form input[value="${webformEl}"]`).closest('form');if($form.length>0&&($($form).hasClass('webform-submission-google-discovery-campaign-channe-form')||$($form).hasClass('webform-submission-channel-partner-registration-form')))formType='channel partner form';$('body').removeAttr(`enquiry_form_tracked_${webformId}`);$('body').removeAttr(`enquiry_form_last_field_${webformId}`);var dLayerObject={'event':'eventTracker','custom_event_name':'form_submit_success','form_type':formType,'email':data.email??'','phone_number':data.phone??'','lead_reference_id':data['unique_lead_id']??'','event_weightage':10};if(data['preferred_mode_of_contact']){var contactPrefModeVal=data['preferred_mode_of_contact'];dLayerObject.contact_preference_mode=$form.find(`input[name="preferred_mode_of_contact"][value="${contactPrefModeVal}"]`).next('label').text().toLowerCase();}if(data['property_name'])dLayerObject.project_name=data['property_name'].toLowerCase();if(data['type'])dLayerObject.property_type=data['type'].toLowerCase();if(data['property_group'])dLayerObject.property_name=data['property_group'].toLowerCase();if(data['unit_type'])dLayerObject.unit_type=data['unit_type'].toLowerCase();if(data['budget_val'])dLayerObject.budget=data['budget_val'].toLowerCase();else{if(data['bed_enquired_for'])dLayerObject.budget=data['bed_enquired_for'].toLowerCase();}if(gclid){const urlParams=new URLSearchParams(window.location.search);dLayerObject.gclid=urlParams.get('gclid')??'';}dataLayer.push(dLayerObject);console.log('Enquiry form success triggered: ',dLayerObject);localStorage.removeItem("latest_webform_submission");window.triggerWebengageEventFromDataLayer(dLayerObject);}}}};if(jQuery('body #notification').length>0)jQuery(once("newsletter-click",'body #notification')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'newsletter_icon_clicked','event_weightage':1};dataLayer.push(dLayerObject);console.log('Newsletter icon click event triggered: ',dLayerObject);});if($('.social-icons a').length>0)jQuery(once('social-media-click','.social-icons a')).click(function(e){var name=$(this).find('img').attr('alt').trim().toLowerCase();var dLayerObject={'event':'eventTracker','custom_event_name':'social_share','social_network':name};dataLayer.push(dLayerObject);console.log('Social icons click event triggered: ',dLayerObject);});if(drupalSettings.sobha_event?.pageType==='media')jQuery(once('media-read-more','a.read-more, span.read-link')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'read_more','event_weightage':1};if($(this).hasClass('read-more')){var parent=$(this).closest('.blog-featured-row');if(parent.length>0){dLayerObject.media_content_name=$(parent).find('h4').data("translated-text").trim().toLowerCase();dLayerObject.media_content_id=$(parent).data('nid');dLayerObject.media_content_type=$(parent).data('type').trim().toLowerCase();dLayerObject.section_name=$(this).closest('.blog-featured-sec').find('h1').data("translated-text").trim().toLowerCase();}}if($(this).hasClass('read-link')){var parent=$(this).closest('.blog-list-box');if(parent.length>0){dLayerObject.media_content_name=$(parent).find('h5').data("translated-text").trim().toLowerCase();dLayerObject.media_content_id=$(parent).data('nid');dLayerObject.media_content_type=$(parent).data('type').trim().toLowerCase();if(dLayerObject.media_content_type==='press_releases')dLayerObject.section_name='Sobha Realty: Press Releases';else dLayerObject.section_name='Sobha Realty: Real Estate News & Blogs';}}dataLayer.push(dLayerObject);console.log('Read more click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if($('.our-team').length>0)$(once("read-more-team",'.our-team a.read-more')).on('click',function(e){var parent=$(this).closest('.team-box-main');var name=parent.find('h4').data("translated-text").trim().toLowerCase();var id=parent.data('pid');var dLayerObject={'event':'eventTracker','custom_event_name':'read_more','event_weightage':1,'media_content_name':name,'media_content_id':id,'media_content_type':'team','section_name':'our management team'};dataLayer.push(dLayerObject);console.log('Read more click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if($('.our-initiatives-wrapper').length>0)$(once("initiatives-read-more",'.our-initiatives-wrapper a.phil-read-more')).on('click',function(e){var parent=$(this).closest('.our-initiatives-section');var name=parent.find('h3.phil-headng').data("translated-text").trim().toLowerCase();var id=parent.data('pid');var dLayerObject={'event':'eventTracker','custom_event_name':'read_more','event_weightage':1,'media_content_name':name,'media_content_id':id,'media_content_type':'our initiative','section_name':'our initiatives'};dataLayer.push(dLayerObject);console.log('Read more click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});if($('#enq-form .eng-buton-list').length>0)$(once('footer-enquiry-btn','#enq-form .eng-buton-list a:not(.vr)')).click(function(e){var dLayerObject={'event':'eventTracker','custom_event_name':'enquiry_clicked','cta_name':$(this).find('span').data("translated-text").trim().toLowerCase(),'event_weightage':3};dataLayer.push(dLayerObject);console.log('Footer enquiry button click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});$(once("generic-cta",` #seek-job-div a, #c-link-div a, .journey-slider-sec a.button-1.view-all, .our-esg-policy-sec a, [title="Load more items"], a[data-translated-text="Load more"], #verticalTab ul.resp-tabs-list li, .reports-sec button.tablinks, .career-banner-each-slide a.button-1, .office-adrres-list-col a, .contact-section-1 a, .page-node-type-partnerships a.bog-box, .page-node-type-partnerships a.topic-tag, .strategic-list .strategic-list-row a.button-1`)).on('click',function(e){var channelPartner=false;var pageName=getPageTitle();if($(this).data("translated-text"))var ctaName=$(this).data("translated-text").trim().toLowerCase();else var ctaName=$(this).text().trim().toLowerCase();let ctaType='';if($(this).closest('#c-link-div').length>0||$(this).closest('#seek-job-div').length>0)channelPartner=true;if($(this).prop('tagName').toLowerCase()==='a'){ctaType='link';var href=$(this).prop('href');if(href)if(href.indexOf('tel:')===0){ctaType='telephone link';channelPartner&&(ctaName='contact');}else if(href.indexOf('mailto:')===0){ctaType='mail link';channelPartner&&(ctaName='contact');}else{if(href.indexOf('goo.gl/maps')!==-1||href.indexOf('https://www.google.com/maps')===0)ctaType='maps direction link';}}else ctaType='button';var ctaPosition=getCtaPosition($(this));var dLayerObject={'event':'eventTracker','custom_event_name':'cta_click','page_name':pageName,'cta_name':ctaName,'cta_type':ctaType,'cta_position':ctaPosition};dataLayer.push(dLayerObject);console.log('Generic cta click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});$(once('slide-navigation',`.swiper-button-prev, .swiper-button-next, .journey-arrow .next-button, .journey-arrow .previous-button-slider `)).click(function(){var pageName=getPageTitle();let ctaType='slider';var ctaPosition=getCtaPosition($(this));var ctaName='slide navigation';var swiper=true;if($(this).hasClass('previous-button-slider')||$(this).hasClass('next-button'))swiper=false;if($(this).hasClass('swiper-button-prev')||$(this).hasClass('next-button'))ctaName='slide left';else{if($(this).hasClass('swiper-button-next')||$(this).hasClass('previous-button-slider'))ctaName='slide right';}var title=getSlideBannerTitle($(this),swiper);if(title)ctaName=`${title}:${ctaName}`;var dLayerObject={'event':'eventTracker','custom_event_name':'cta_click','page_name':pageName,'cta_name':ctaName,'cta_type':ctaType,'cta_position':ctaPosition};dataLayer.push(dLayerObject);console.log('Generic cta click event triggered: ',dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});function getSlideBannerTitle(slide,swiper){var title='';var activeSlide=false;if(swiper){if($(slide).closest('.swiper').length>0)var activeSlide=$(slide).closest('.swiper').find('.swiper-slide-active');else{if($(slide).closest('div').parent().prev('.swiper').length>0)var activeSlide=$(slide).closest('div').parent().prev('.swiper').find('.swiper-slide-active');}if($(activeSlide).data('title'))title=$(activeSlide).data('title').trim().toLowerCase();else if($(activeSlide).find('h4').length>0){if($('.page-node-type-properties-in-dubai').length>0)title=`${drupalSettings.sobha_event?.projectName.trim().toLowerCase()}:`;if($(activeSlide).find('h4').data("translated-text"))title+=$(activeSlide).find('h4').data("translated-text").trim().toLowerCase();else title+=$(activeSlide).find('h4').text().trim().toLowerCase();}else if($('.recognition-slider-philanthropy').length>0&&$(activeSlide).find('h3').length>0)title=`${String($(activeSlide).find('h3').data("translated-text")).trim().toLowerCase()} - ${$(activeSlide).find('p').data("translated-text").trim().toLowerCase()}`;else if($(slide).closest('.events-recognition').length>0&&$(activeSlide).find('h5').length>0)title=`${$(activeSlide).find('h5').data("translated-text").trim().toLowerCase()}`;else if($(slide).closest('.recognition-sec').length>0&&$(activeSlide).find('h5').length>0)title=`${$(activeSlide).find('h5').data("translated-text").trim().toLowerCase()}`;else if($('.project-slider-div').length>0&&$(slide).closest('.river-side-row').find('.river-side-list-right').length>0)title=`${drupalSettings.sobha_event?.propertyName}:${$(slide).closest('.river-side-row').find('.river-side-list-right').find('h5').data("translated-text").trim().toLowerCase()}`;else if($(slide).closest('.listing-div').find('h5').length>0){if($(slide).closest('.listing-div').data('group-property'))title=`${$(slide).closest('.listing-div').data('group-property').trim().toLowerCase()}:`;if($(slide).closest('.listing-div').find('h5').data("translated-text"))title+=$(slide).closest('.listing-div').find('h5').data("translated-text").trim().toLowerCase();else{if($(slide).closest('.listing-div').find('h5 a').data("translated-text"))title+=$(slide).closest('.listing-div').find('h5 a').data("translated-text").trim().toLowerCase();}}else{if($('.page-node-type-properties-in-dubai').length>0)title=drupalSettings.sobha_event?.projectName;}}return title;}function getCtaPosition(ctaElement){var rect=ctaElement[0].getBoundingClientRect();var totalHeight=document.documentElement.scrollHeight;var elementTop=rect.top+window.scrollY;var elementPositionPercentage=(elementTop/totalHeight)*100;var position='center';if(elementPositionPercentage<30)position='top';else if(elementPositionPercentage>=30&&elementPositionPercentage<58)position='center';else{if(elementPositionPercentage>=58)position='bottom';}return position;}function getPageTitle(){var pageName='';if(drupalSettings.sobha_event?.pageName){pageName=drupalSettings.sobha_event.pageName;if(drupalSettings.sobha_event.propertyName)pageName=drupalSettings.sobha_event.propertyName;if(drupalSettings.sobha_event.projectName)pageName=drupalSettings.sobha_event.projectName;if(drupalSettings.sobha_event.mediaContentName)pageName=drupalSettings.sobha_event.mediaContentName;}else pageName=document.title;return pageName.toLowerCase();}$(once('wishlist-click',".wishlist-share-section .wishlist-main-wrapper, #wishlist-container .wishlist-remove")).click(function(){if($(this).hasClass('wish-active')||$(this).hasClass('wishlist-remove'))var eventName='remove_from_wishlist';else var eventName='add_to_wishlist';if(drupalSettings.sobha_event?.propertyName){var projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();var propertyName=drupalSettings.sobha_event.propertyName;var propType=drupalSettings.sobha_event.propertyType?.trim().toLowerCase()??'';var unitType=$('#project-detail-units').data('unit-type').toLowerCase().trim();}else{var parentDiv=$(this).closest('.listing-div');if($(parentDiv).find('h5 a').length>0)var projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else var projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();var propertyName=$(parentDiv).data('group-property')??projectName;var propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();var unitType=$(parentDiv).find('p.no-of-bedrooms').data('unit-type')?.trim().toLowerCase();}var dLayerObject={'event':'eventTracker','custom_event_name':eventName,'project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType,'event_weightage':3};dataLayer.push(dLayerObject);console.log(`Wishlist ${eventName}:`,dLayerObject);});$(once('wishlist-clear-all',".remove-show-wrapper a.clear-all-wishlist")).click(function(){var dLayerObject={'event':'eventTracker','custom_event_name':'clear_wishlist','event_weightage':1};dataLayer.push(dLayerObject);console.log(`Wishlist clear all items event`,dLayerObject);window.triggerWebengageEventFromDataLayer(dLayerObject);});const $vrModal=$('.modal#VRpopup');if($vrModal.length){let engagementTimer;let triggerButton=null;let activeUnitTypeInModal=null;$vrModal.on('shown.bs.modal',function(event){triggerButton=jQuery(event.relatedTarget);activeUnitTypeInModal=jQuery(event.target).find('select#walkthroughSelect').val();let dLayerObject={};if($(triggerButton).closest('.virtual-floor-plan-wrapper').length>0){let propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();let unitType=$(triggerButton).closest('.virtual-floor-plan-wrapper').find('.category-button.active').data("translated-text").trim().toLowerCase().replace('br','bedroom');let propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();let projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();let priceRange='';if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange'))priceRange=`from ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange').replace('
','').trim().toLowerCase()}`;if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange'))priceRange+=` to ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange').replace('
','').trim().toLowerCase()}`;dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough','project_name':projectName,'property_name':propertyName,'property_type':propType,'unit_type':unitType,'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}else{if($(triggerButton).closest('.listing-div').length>0){let parentDiv=$(triggerButton).closest('.listing-div');let propertyName=$(parentDiv).data('group-property');let unitType=$(parentDiv).find('p.no-of-bedrooms').data('unit-type')?.trim().toLowerCase();let propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();let projectName;if($(parentDiv).find('h5 a').length>0)projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();let priceRange='';if($(parentDiv).find('span.p-range').length>0){priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;}dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough','project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType,'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}}if(dLayerObject&&Object.entries(dLayerObject).length>0){dataLayer.push(dLayerObject);console.log('Walkthrough click event triggered: ',dLayerObject);let timeSpent=0;let timeLimit=15*1000;console.log('Walkthrough engagement timer started');engagementTimer=setInterval(function(){timeSpent+=1000;if(timeSpent>=timeLimit){clearInterval(engagementTimer);let engagementDLayerObject=JSON.parse(JSON.stringify(dLayerObject));engagementDLayerObject.custom_event_name='walkthrough_engagement_bucketed';dataLayer.push(engagementDLayerObject);console.log(`Walkthrough engagement: 15 seconds`,engagementDLayerObject);}},1000);}});$vrModal.on('hidden.bs.modal',function(event){clearInterval(engagementTimer);if(triggerButton&&activeUnitTypeInModal){let dLayerObject={};if($(triggerButton).closest('.virtual-floor-plan-wrapper').length>0){let propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();let unitType=activeUnitTypeInModal?.trim()?.toLowerCase();let propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();let projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();let priceRange='';if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange'))priceRange=`from ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange').replace('
','').trim().toLowerCase()}`;if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange'))priceRange+=` to ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange').replace('
','').trim().toLowerCase()}`;dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough_exit','project_name':projectName,'property_name':propertyName,'property_type':propType,'unit_type':unitType,'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}else{if($(triggerButton).closest('.listing-div').length>0){let parentDiv=$(triggerButton).closest('.listing-div');let propertyName=$(parentDiv).data('group-property');let unitType=activeUnitTypeInModal?.trim()?.toLowerCase();let propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();let projectName;if($(parentDiv).find('h5 a').length>0)projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();let priceRange='';if($(parentDiv).find('span.p-range').length>0){priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;}dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough_exit','project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType?.replace('br','bedroom'),'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}}if(dLayerObject&&Object.entries(dLayerObject).length>0){dataLayer.push(dLayerObject);console.log('Walkthrough exit event triggered: ',dLayerObject);}triggerButton=null;}});const $walkthroughSelect=$('#VRpopup #walkthroughSelect');if($walkthroughSelect.length)jQuery(once('walkthrough-typology-event',$walkthroughSelect)).change(function(){activeUnitTypeInModal=$(this).val();if(triggerButton){let dLayerObject={};if($(triggerButton).closest('.virtual-floor-plan-wrapper').length>0){let propertyName=drupalSettings.sobha_event.propertyName.trim().toLowerCase();let unitType=activeUnitTypeInModal?.trim()?.toLowerCase();let propType=drupalSettings.sobha_event.propertyType.trim().toLowerCase();let projectName=drupalSettings.sobha_event.projectName.trim().toLowerCase();let priceRange='';if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange'))priceRange=`from ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('sprange').replace('
','').trim().toLowerCase()}`;if($(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange'))priceRange+=` to ${$(triggerButton).closest('.virtual-floor-plan-wrapper').data('hprange').replace('
','').trim().toLowerCase()}`;dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough_change_property','project_name':projectName,'property_name':propertyName,'property_type':propType,'unit_type':unitType,'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}else{if($(triggerButton).closest('.listing-div').length>0){let parentDiv=$(triggerButton).closest('.listing-div');let propertyName=$(parentDiv).data('group-property');let unitType=activeUnitTypeInModal?.trim()?.toLowerCase();let propType=$(parentDiv).find('p.no-of-bedrooms').data('prop-type')?.trim().toLowerCase();let projectName;if($(parentDiv).find('h5 a').length>0)projectName=$(parentDiv).find('h5 a').data("translated-text").trim().toLowerCase();else projectName=$(parentDiv).find('h5').data("translated-text").trim().toLowerCase();let priceRange='';if($(parentDiv).find('span.p-range').length>0){priceRange=`from ${$(parentDiv).find('span.p-range').eq(0).data("translated-text").replace('
','').trim().toLowerCase()}`;if($(parentDiv).find('span.p-range').eq(1).length>0)priceRange+=` to ${$(parentDiv).find('span.p-range').eq(1).data("translated-text").replace('
','').trim().toLowerCase()}`;}dLayerObject={'event':'eventTracker','custom_event_name':'walkthrough_change_property','project_name':projectName,'property_name':propertyName?propertyName.trim().toLowerCase():projectName,'property_type':propType,'unit_type':unitType?.replace('br','bedroom'),'event_weightage':3};if(priceRange!='')dLayerObject.property_price_range=priceRange;}}if(dLayerObject&&Object.entries(dLayerObject).length>0){dataLayer.push(dLayerObject);console.log('Walkthrough change typology event triggered: ',dLayerObject);}}});}jQuery(once('vr-link','.VR-btn a.vr, a.enq-btn-vr-mobile, .VR-btn button.vr, button.enq-btn-vr-mobile')).click(function(){let dLayerObject={'event':'eventTracker','custom_event_name':'enquiry_clicked','page_name':drupalSettings.sobha_event.pageName,'cta_name':'walkthrough','event_weightage':3};dataLayer.push(dLayerObject);console.log('Walkthrough cta click event triggered: ',dLayerObject);});}});}};})(jQuery,Drupal);; (function($,Drupal){'use strict';Drupal.webform=Drupal.webform||{};Drupal.webform.scrollTopOffset=Drupal.webform.scrollTopOffset||($('#toolbar-administration').length?140:10);Drupal.webformScrollTop=function(element,target){if(!target)return;var $element=$(element);var offset=$element.offset();var $scrollTarget=$element;while($scrollTarget.scrollTop()===0&&$($scrollTarget).parent())$scrollTarget=$scrollTarget.parent();if(target==='page'&&$scrollTarget.length&&$scrollTarget[0].tagName==='HTML'){var rect=$($scrollTarget)[0].getBoundingClientRect();if(!(rect.top>=0&&rect.left>=0&&rect.bottom<=$(window).height()&&rect.right<=$(window).width()))$scrollTarget.animate({scrollTop:0},500);}else{if(offset.top-Drupal.webform.scrollTopOffset<$scrollTarget.scrollTop())$scrollTarget.animate({scrollTop:(offset.top-Drupal.webform.scrollTopOffset)},500);}};Drupal.webformScrolledIntoView=function($element){if(!Drupal.webformIsScrolledIntoView($element))$('html, body').animate({scrollTop:$element.offset().top-Drupal.webform.scrollTopOffset},500);};Drupal.webformIsScrolledIntoView=function(element){var docViewTop=$(window).scrollTop();var docViewBottom=docViewTop+$(window).height();var elemTop=$(element).offset().top;var elemBottom=elemTop+$(element).height();return ((elemBottom<=docViewBottom)&&(elemTop>=docViewTop));};})(jQuery,Drupal);; (function($,Drupal,drupalSettings,once){'use strict';Drupal.webform=Drupal.webform||{};Drupal.webform.ajax=Drupal.webform.ajax||{};Drupal.webform.ajax.scrollTopOffset=Drupal.webform.ajax.scrollTopOffset||($('#toolbar-administration').length?140:10);Drupal.webform.scrollTopOffset=Drupal.webform.ajax.scrollTopOffset;Drupal.behaviors.webformAjaxLink={attach:function(context){$(once('webform-ajax-link','.webform-ajax-link',context)).each(function(){var element_settings={};element_settings.progress={type:'fullscreen'};var href=$(this).attr('href');if(href){element_settings.url=href;element_settings.event='click';}element_settings.dialogType=$(this).data('dialog-type');element_settings.dialogRenderer=$(this).data('dialog-renderer');element_settings.dialog=$(this).data('dialog-options');element_settings.base=$(this).attr('id');element_settings.element=this;Drupal.ajax(element_settings);if(element_settings.dialogRenderer==='off_canvas')$(this).on('click',function(){$('.ui-dialog.webform-ui-dialog:visible').find('.ui-dialog-content').dialog('close');});});}};Drupal.behaviors.webformAjaxHash={attach:function(context){$(once('webform-ajax-hash','[data-hash]',context)).each(function(){var hash=$(this).data('hash');if(hash)$(this).on('click',function(){location.hash=$(this).data('hash');});});}};Drupal.behaviors.webformConfirmationBackAjax={attach:function(context){$(once('webform-confirmation-back-ajax','.js-webform-confirmation-back-link-ajax',context)).on('click',function(event){var $form=$(this).parents('form');$form.find('.js-webform-confirmation-back-submit-ajax').trigger('click');var $progress_indicator=$form.find('.ajax-progress');if($progress_indicator)$(this).after($progress_indicator);event.preventDefault();event.stopPropagation();});}};var updateKey;var addElement;Drupal.AjaxCommands.prototype.webformInsert=function(ajax,response,status){this.insert(ajax,response,status);if(addElement){var addSelector=(addElement==='_root_')?'#webform-ui-add-element':'[data-drupal-selector="edit-webform-ui-elements-'+addElement+'-add"]';$(addSelector).trigger('click');}if(!addElement&&updateKey){var $element=$('tr[data-webform-key="'+updateKey+'"]');$element.addClass('color-success');setTimeout(function(){$element.removeClass('color-success');},3000);$element.find(':tabbable:not(.tabledrag-handle)').eq(0).trigger('focus');Drupal.webformScrolledIntoView($element);}else $('#main-content').trigger('focus');var $wrapper=$(response.selector);if($wrapper.parents('.ui-dialog').length===0){var $messages=$wrapper.find('.messages');if(addElement)$messages.remove();else{if($messages.length){var $floatingMessage=$('#webform-ajax-messages');if($floatingMessage.length===0){$floatingMessage=$('
');$('body').append($floatingMessage);}if($floatingMessage.is(':animated'))$floatingMessage.stop(true,true);$floatingMessage.html($messages).show().delay(3000).fadeOut(1000);}}}updateKey=null;addElement=null;};Drupal.AjaxCommands.prototype.webformScrollTop=function(ajax,response){Drupal.webformScrollTop(response.selector,response.target);var $form=$(response.selector+'-content').find('form');if(!$form.hasClass('js-webform-autofocus'))$(response.selector+'-content').trigger('focus');};Drupal.AjaxCommands.prototype.webformRefresh=function(ajax,response,status){var a=document.createElement('a');a.href=response.url;var forceReload=(response.url.match(/\?reload=([^&]+)($|&)/))?RegExp.$1:null;if(forceReload){response.url=response.url.replace(/\?reload=([^&]+)($|&)/,'');this.redirect(ajax,response,status);return;}if(a.pathname===window.location.pathname&&$('.webform-ajax-refresh').length){updateKey=(response.url.match(/[?|&]update=([^&]+)($|&)/))?RegExp.$1:null;addElement=(response.url.match(/[?|&]add_element=([^&]+)($|&)/))?RegExp.$1:null;$('.webform-ajax-refresh').trigger('click');}else{if(Drupal.behaviors.webformUnsaved)Drupal.behaviors.webformUnsaved.clear();if(drupalSettings.webform_share&&drupalSettings.webform_share.page)window.top.location=response.url;else this.redirect(ajax,response,status);}};Drupal.AjaxCommands.prototype.webformCloseDialog=function(ajax,response,status){if($('#drupal-off-canvas').length){$('#drupal-off-canvas').remove();$('body').removeClass('js-tray-open');$(document).off('.off-canvas');$(window).off('.off-canvas');var edge=document.documentElement.dir==='rtl'?'left':'right';var $mainCanvasWrapper=$('[data-off-canvas-main-canvas]');$mainCanvasWrapper.css('padding-'+edge,0);$(window).trigger('resize.tabs');}if($(response.selector).hasClass('ui-dialog-content'))this.closeDialog(ajax,response,status);};Drupal.AjaxCommands.prototype.webformConfirmReload=function(ajax,response){if(window.confirm(response.message))window.location.reload(true);};})(jQuery,Drupal,drupalSettings,once);; (function($,Drupal,once){'use strict';var hasLocalStorage=(function(){try{localStorage.setItem('webform','webform');localStorage.removeItem('webform');return true;}catch(e){return false;}}());Drupal.behaviors.webformDetailsSave={attach:function(context){if(!hasLocalStorage)return;$(once('webform-details-summary-save','details > summary',context)).on('click',function(){var $details=$(this).parent();if($details[0].hasAttribute('data-webform-details-nosave'))return;var name=Drupal.webformDetailsSaveGetName($details);if(!name)return;var open=($details.attr('open')!=='open')?'1':'0';localStorage.setItem(name,open);});$(once('webform-details-save','details',context)).each(function(){var $details=$(this);var name=Drupal.webformDetailsSaveGetName($details);if(!name)return;var open=localStorage.getItem(name);if(open===null)return;if(open==='1')$details.attr('open','open');else $details.removeAttr('open');});}};Drupal.webformDetailsSaveGetName=function($details){if(!hasLocalStorage)return '';if($details.hasClass('vertical-tabs__pane'))return '';var webformId=$details.attr('data-webform-element-id');if(webformId)return 'Drupal.webform.'+webformId.replace('--','.');var detailsId=$details.attr('id');if(!detailsId)return '';var $form=$details.parents('form');if(!$form.length||!$form.attr('id'))return '';var formId=$form.attr('id');if(!formId)return '';formId=formId.replace(/--.+?$/,'').replace(/-/g,'_');detailsId=detailsId.replace(/--.+?$/,'').replace(/-/g,'_');return 'Drupal.webform.'+formId+'.'+detailsId;};})(jQuery,Drupal,once);; (function($,Drupal,once){'use strict';Drupal.webform=Drupal.webform||{};Drupal.webform.detailsToggle=Drupal.webform.detailsToggle||{};Drupal.webform.detailsToggle.options=Drupal.webform.detailsToggle.options||{};Drupal.behaviors.webformDetailsToggle={attach:function(context){$(once('webform-details-toggle','.js-webform-details-toggle',context)).each(function(){var $form=$(this);var $tabs=$form.find('.webform-tabs');var selector=($tabs.length)?'.webform-tab':'.js-webform-details-toggle, .webform-elements';var $details=$form.find('details').filter(function(){var $parents=$(this).parentsUntil(selector);return ($parents.find('details').length===0);});if($details.length<2)return;var options=$.extend({button:''},Drupal.webform.detailsToggle.options);var $toggle=$(options.button).attr('title',Drupal.t('Toggle details widget state.')).on('click',function(e){var $details=$form.find('details:not(.vertical-tabs__pane)');var $summary=$details.find('summary');var open;if(Drupal.webform.detailsToggle.isFormDetailsOpen($form)){$details.removeAttr('open');$summary.attr('aria-expanded','false');open=0;}else{$details.attr('open','open');$summary.attr('aria-expanded','true');open=1;}Drupal.webform.detailsToggle.setDetailsToggleLabel($form);if(Drupal.webformDetailsSaveGetName)$details.each(function(){var name=Drupal.webformDetailsSaveGetName($(this));if(name)localStorage.setItem(name,open);});}).wrap('
').parent();if($tabs.length)$tabs.find('.item-list:first-child').eq(0).before($toggle);else $details.eq(0).before($toggle);Drupal.webform.detailsToggle.setDetailsToggleLabel($form);});}};Drupal.webform.detailsToggle.isFormDetailsOpen=function($form){return ($form.find('details[open]').length===$form.find('details').length);};Drupal.webform.detailsToggle.setDetailsToggleLabel=function($form){var isOpen=Drupal.webform.detailsToggle.isFormDetailsOpen($form);var label=(isOpen)?Drupal.t('Collapse all'):Drupal.t('Expand all');$form.find('.webform-details-toggle-state').html(label);var text=(isOpen)?Drupal.t('All details have been expanded.'):Drupal.t('All details have been collapsed.');Drupal.announce(text);};})(jQuery,Drupal,once);; (function($,Drupal,once){'use strict';var hasLocalStorage=(function(){try{localStorage.setItem('webform','webform');localStorage.removeItem('webform');return true;}catch(e){return false;}}());var hasSessionStorage=(function(){try{sessionStorage.setItem('webform','webform');sessionStorage.removeItem('webform');return true;}catch(e){return false;}}());Drupal.behaviors.webformMessageClose={attach:function(context){$(once('webform-message--close','.js-webform-message--close',context)).each(function(){var $element=$(this);var id=$element.attr('data-message-id');var storage=$element.attr('data-message-storage');var effect=$element.attr('data-message-close-effect')||'hide';switch(effect){case 'slide':effect='slideUp';break;case 'fade':effect='fadeOut';break;}if(isClosed($element,storage,id))return;if($element.attr('style')!=='display: none;'&&!$element.hasClass('js-webform-states-hidden'))$element.show();$element.find('.js-webform-message__link').on('click',function(event){$element[effect]();setClosed($element,storage,id);$element.trigger('close');event.preventDefault();});});}};function isClosed($element,storage,id){if(!id||!storage)return false;switch(storage){case 'local':if(hasLocalStorage)return localStorage.getItem('Drupal.webform.message.'+id)||false;return false;case 'session':if(hasSessionStorage)return sessionStorage.getItem('Drupal.webform.message.'+id)||false;return false;default:return false;}}function setClosed($element,storage,id){if(!id||!storage)return;switch(storage){case 'local':if(hasLocalStorage)localStorage.setItem('Drupal.webform.message.'+id,true);break;case 'session':if(hasSessionStorage)sessionStorage.setItem('Drupal.webform.message.'+id,true);break;case 'user':case 'state':case 'custom':$.get($element.find('.js-webform-message__link').attr('href'));return true;}}})(jQuery,Drupal,once);; (function($,Drupal,debounce){$.fn.drupalGetSummary=function(){const callback=this.data('summaryCallback');if(!this[0]||!callback)return '';const result=callback(this[0]);return result?result.trim():'';};$.fn.drupalSetSummary=function(callback){const self=this;if(typeof callback!=='function'){const val=callback;callback=function(){return val;};}return (this.data('summaryCallback',callback).off('formUpdated.summary').on('formUpdated.summary',()=>{self.trigger('summaryUpdated');}).trigger('summaryUpdated'));};Drupal.behaviors.formSingleSubmit={attach(){function onFormSubmit(e){const $form=$(e.currentTarget);const formValues=new URLSearchParams(new FormData(e.target)).toString();const previousValues=$form.attr('data-drupal-form-submit-last');if(previousValues===formValues)e.preventDefault();else $form.attr('data-drupal-form-submit-last',formValues);}$(once('form-single-submit','body')).on('submit.singleSubmit','form:not([method~="GET"])',onFormSubmit);}};function triggerFormUpdated(element){$(element).trigger('formUpdated');}function fieldsList(form){return [].map.call(form.querySelectorAll('[name][id]'),(el)=>el.id);}Drupal.behaviors.formUpdated={attach(context){const $context=$(context);const contextIsForm=context.tagName==='FORM';const $forms=$(once('form-updated',contextIsForm?$context:$context.find('form')));let formFields;if($forms.length)$.makeArray($forms).forEach((form)=>{const events='change.formUpdated input.formUpdated ';const eventHandler=debounce((event)=>{triggerFormUpdated(event.target);},300);formFields=fieldsList(form).join(',');form.setAttribute('data-drupal-form-fields',formFields);$(form).on(events,eventHandler);});if(contextIsForm){formFields=fieldsList(context).join(',');const currentFields=$(context).attr('data-drupal-form-fields');if(formFields!==currentFields)triggerFormUpdated(context);}},detach(context,settings,trigger){const $context=$(context);const contextIsForm=context.tagName==='FORM';if(trigger==='unload')once.remove('form-updated',contextIsForm?$context:$context.find('form')).forEach((form)=>{form.removeAttribute('data-drupal-form-fields');$(form).off('.formUpdated');});}};Drupal.behaviors.fillUserInfoFromBrowser={attach(context,settings){const userInfo=['name','mail','homepage'];const $forms=$(once('user-info-from-browser','[data-user-info-from-browser]'));if($forms.length)userInfo.forEach((info)=>{const $element=$forms.find(`[name=${info}]`);const browserData=localStorage.getItem(`Drupal.visitor.${info}`);if(!$element.length)return;const emptyValue=$element[0].value==='';const defaultValue=$element.attr('data-drupal-default-value')===$element[0].value;if(browserData&&(emptyValue||defaultValue))$element.each(function(index,item){item.value=browserData;});});$forms.on('submit',()=>{userInfo.forEach((info)=>{const $element=$forms.find(`[name=${info}]`);if($element.length)localStorage.setItem(`Drupal.visitor.${info}`,$element[0].value);});});}};const handleFragmentLinkClickOrHashChange=(e)=>{let url;if(e.type==='click')url=e.currentTarget.location?e.currentTarget.location:e.currentTarget;else url=window.location;const hash=url.hash.substring(1);if(hash){const $target=$(`#${hash}`);$('body').trigger('formFragmentLinkClickOrHashChange',[$target]);setTimeout(()=>$target.trigger('focus'),300);}};const debouncedHandleFragmentLinkClickOrHashChange=debounce(handleFragmentLinkClickOrHashChange,300,true);$(window).on('hashchange.form-fragment',debouncedHandleFragmentLinkClickOrHashChange);$(document).on('click.form-fragment','a[href*="#"]',debouncedHandleFragmentLinkClickOrHashChange);})(jQuery,Drupal,Drupal.debounce);; (function($,Drupal){'use strict';var isChrome=(/chrom(e|ium)/.test(window.navigator.userAgent.toLowerCase()));if(isChrome){var backButton=false;if(window.performance){var navEntries=window.performance.getEntriesByType('navigation');if(navEntries.length>0&&navEntries[0].type==='back_forward')backButton=true;else{if(window.performance.navigation&&window.performance.navigation.type===window.performance.navigation.TYPE_BACK_FORWARD)backButton=true;}}if(backButton){var attachBehaviors=Drupal.attachBehaviors;Drupal.attachBehaviors=function(context,settings){setTimeout(function(){attachBehaviors(context,settings);},300);};}}})(jQuery,Drupal);; (function($,Drupal){const states={postponed:[]};Drupal.states=states;function invert(a,invertState){return invertState&&typeof a!=='undefined'?!a:a;}function compare(a,b){if(a===b)return typeof a==='undefined'?a:true;return typeof a==='undefined'||typeof b==='undefined';}function ternary(a,b){if(typeof a==='undefined')return b;if(typeof b==='undefined')return a;return a&&b;}Drupal.behaviors.states={attach(context,settings){const elements=once('states','[data-drupal-states]',context);const il=elements.length;for(let i=0;i{new states.Dependent({element:$(elements[i]),state:states.State.sanitize(state),constraints:config[state]});});}while(states.postponed.length)states.postponed.shift()();}};states.Dependent=function(args){$.extend(this,{values:{},oldValue:null},args);this.dependees=this.getDependees();Object.keys(this.dependees||{}).forEach((selector)=>{this.initializeDependee(selector,this.dependees[selector]);});};states.Dependent.comparisons={RegExp(reference,value){return reference.test(value);},Function(reference,value){return reference(value);},Array(reference,value){if(!Array.isArray(value))return false;return JSON.stringify(reference.sort())===JSON.stringify(value.sort());},Number(reference,value){return typeof value==='string'?compare(reference.toString(),value):compare(reference,value);}};states.Dependent.prototype={initializeDependee(selector,dependeeStates){this.values[selector]={};Object.keys(dependeeStates).forEach((i)=>{let state=dependeeStates[i];if($.inArray(state,dependeeStates)===-1)return;state=states.State.sanitize(state);this.values[selector][state.name]=null;$(selector).on(`state:${state}`,{selector,state},(e)=>{this.update(e.data.selector,e.data.state,e.value);});new states.Trigger({selector,state});});},compare(reference,selector,state){const value=this.values[selector][state.name];if(reference.constructor.name in states.Dependent.comparisons)return states.Dependent.comparisons[reference.constructor.name](reference,value);return compare(reference,value);},update(selector,state,value){if(value!==this.values[selector][state.name]){this.values[selector][state.name]=value;this.reevaluate();}},reevaluate(){let value=this.verifyConstraints(this.constraints);if(value!==this.oldValue){this.oldValue=value;value=invert(value,this.state.invert);this.element.trigger({type:`state:${this.state}`,value,trigger:true});}},verifyConstraints(constraints,selector){let result;if(Array.isArray(constraints)){const hasXor=$.inArray('xor',constraints)===-1;const len=constraints.length;for(let i=0;i{this.defaultTrigger(event,trigger[event]);});this.element.data(`trigger:${this.state}`,true);},defaultTrigger(event,valueFn){let oldValue=valueFn.call(this.element);this.element.on(event,function(e){const value=valueFn.call(this.element,e);if(oldValue!==value){this.element.trigger({type:`state:${this.state}`,value,oldValue});oldValue=value;}}.bind(this));states.postponed.push(function(){this.element.trigger({type:`state:${this.state}`,value:oldValue,oldValue:null});}.bind(this));}};states.Trigger.states={empty:{keyup(){return this.val()==='';},change(){return this.val()==='';}},checked:{change(){let checked=false;this.each(function(){checked=$(this).prop('checked');return !checked;});return checked;}},value:{keyup(){if(this.length>1)return this.filter(':checked').val()||false;return this.val();},change(){if(this.length>1)return this.filter(':checked').val()||false;return this.val();}},collapsed:{collapsed(e){return typeof e!=='undefined'&&'value' in e?e.value:!this[0].hasAttribute('open');}}};states.State=function(state){this.pristine=state;this.name=state;let process=true;do{while(this.name.charAt(0)==='!'){this.name=this.name.substring(1);this.invert=!this.invert;}if(this.name in states.State.aliases)this.name=states.State.aliases[this.name];else process=false;}while(process);};states.State.sanitize=function(state){if(state instanceof states.State)return state;return new states.State(state);};states.State.aliases={enabled:'!disabled',invisible:'!visible',invalid:'!valid',untouched:'!touched',optional:'!required',filled:'!empty',unchecked:'!checked',irrelevant:'!relevant',expanded:'!collapsed',open:'!collapsed',closed:'collapsed',readwrite:'!readonly'};states.State.prototype={invert:false,toString(){return this.name;}};const $document=$(document);$document.on('state:disabled',(e)=>{const tagsSupportDisable='button, fieldset, optgroup, option, select, textarea, input';if(e.trigger)$(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled',e.value).find(tagsSupportDisable).addBack(tagsSupportDisable).prop('disabled',e.value);});$document.on('state:readonly',(e)=>{if(e.trigger)$(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-readonly',e.value).find('input, textarea').prop('readonly',e.value);});$document.on('state:required',(e)=>{if(e.trigger)if(e.value){const label=`label${e.target.id?`[for=${e.target.id}]`:''}`;const $label=$(e.target).attr({required:'required','aria-required':'true'}).closest('.js-form-item, .js-form-wrapper').find(label);if(!$label.hasClass('js-form-required').length)$label.addClass('js-form-required form-required');}else $(e.target).removeAttr('required aria-required').closest('.js-form-item, .js-form-wrapper').find('label.js-form-required').removeClass('js-form-required form-required');});$document.on('state:visible',(e)=>{if(e.trigger){let $element=$(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper');if(e.target.tagName==='A')$element=$(e.target);$element.toggle(e.value);}});$document.on('state:checked',(e)=>{if(e.trigger)$(e.target).closest('.js-form-item, .js-form-wrapper').find('input').prop('checked',e.value).trigger('change');});$document.on('state:collapsed',(e)=>{if(e.trigger)if(e.target.hasAttribute('open')===e.value)$(e.target).find('> summary').trigger('click');});})(jQuery,Drupal);; (function($,Drupal,once){'use strict';Drupal.webform=Drupal.webform||{};Drupal.webform.states=Drupal.webform.states||{};Drupal.webform.states.slideDown=Drupal.webform.states.slideDown||{};Drupal.webform.states.slideDown.duration='slow';Drupal.webform.states.slideUp=Drupal.webform.states.slideUp||{};Drupal.webform.states.slideUp.duration='fast';$.fn.hasData=function(data){return (typeof this.data(data)!=='undefined');};$.fn.isWebform=function(){return $(this).closest('form.webform-submission-form, form[id^="webform"], form[data-is-webform]').length?true:false;};$.fn.isWebformElement=function(){return ($(this).isWebform()||$(this).closest('[data-is-webform-element]').length)?true:false;};Drupal.states.Trigger.states.empty.change=function change(){return this.val()==='';};var states=Drupal.states;Drupal.states.Dependent.prototype.compare=function compare(reference,selector,state){var value=this.values[selector][state.name];var name=reference.constructor.name;if(!name){name=$.type(reference);name=name.charAt(0).toUpperCase()+name.slice(1);}if(name in states.Dependent.comparisons)return states.Dependent.comparisons[name](reference,value);if(reference.constructor.name in states.Dependent.comparisons)return states.Dependent.comparisons[reference.constructor.name](reference,value);return _compare2(reference,value);};function _compare2(a,b){if(a===b)return typeof a==='undefined'?a:true;return typeof a==='undefined'||typeof b==='undefined';}Drupal.states.Dependent.comparisons.Object=function(reference,value){if('pattern' in reference)return (new RegExp(reference['pattern'])).test(value);else if('!pattern' in reference)return !((new RegExp(reference['!pattern'])).test(value));else if('less' in reference)return (value!==''&&parseFloat(reference['less'])>parseFloat(value));else if('less_equal' in reference)return (value!==''&&parseFloat(reference['less_equal'])>=parseFloat(value));else if('greater' in reference)return (value!==''&&parseFloat(reference['greater'])=parseFloat(greater));var isLessThan=(less===null||less===''||parseFloat(value)<=parseFloat(less));var result=(isGreaterThan&&isLessThan);return (reference['!between'])?!result:result;}else return reference.indexOf(value)!==false;};var $document=$(document);$document.on('state:required',function(e){if(e.trigger&&$(e.target).isWebformElement()){var $target=$(e.target);toggleRequired($target.find('input[type="file"]'),e.value);if($target.is('.js-form-type-radios, .js-form-type-webform-radios-other, .js-webform-type-radios, .js-webform-type-webform-radios-other, .js-webform-type-webform-entity-radios, .webform-likert-table')){$target.toggleClass('required',e.value);toggleRequired($target.find('input[type="radio"]'),e.value);}if($target.is('.js-form-type-checkboxes, .js-form-type-webform-checkboxes-other, .js-webform-type-checkboxes, .js-webform-type-webform-checkboxes-other')){$target.toggleClass('required',e.value);var $checkboxes=$target.find('input[type="checkbox"]');if(e.value){$checkboxes.on('click',statesCheckboxesRequiredEventHandler);checkboxesRequired($target);}else{$checkboxes.off('click',statesCheckboxesRequiredEventHandler);toggleRequired($checkboxes,false);}}if($target.is('.js-webform-tableselect')){$target.toggleClass('required',e.value);var isMultiple=$target.is('[multiple]');if(isMultiple){var $tbody=$target.find('tbody');var $checkboxes=$tbody.find('input[type="checkbox"]');copyRequireMessage($target,$checkboxes);if(e.value){$checkboxes.on('click change',statesCheckboxesRequiredEventHandler);checkboxesRequired($tbody);}else{$checkboxes.off('click change ',statesCheckboxesRequiredEventHandler);toggleRequired($tbody,false);}}else{var $radios=$target.find('input[type="radio"]');copyRequireMessage($target,$radios);toggleRequired($radios,e.value);}}if($target.is('.js-form-type-webform-select-other, .js-webform-type-webform-select-other')){var $select=$target.find('select');toggleRequired($select,e.value);copyRequireMessage($target,$select);}if($target.find('> label:not([for])').length)$target.find('> label').toggleClass('js-form-required form-required',e.value);if($target.is('.js-webform-type-radios, .js-webform-type-checkboxes, fieldset'))$target.find('legend span.fieldset-legend:not(.visually-hidden),legend span.fieldset__label:not(.visually-hidden)').toggleClass('js-form-required form-required',e.value);if($target.is('fieldset'))$target.removeAttr('required aria-required');}});$document.on('state:checked',function(e){if(e.trigger)$(e.target).trigger('change');});$document.on('state:readonly',function(e){if(e.trigger&&$(e.target).isWebformElement()){$(e.target).prop('readonly',e.value).closest('.js-form-item, .js-form-wrapper').toggleClass('webform-readonly',e.value).find('input, textarea').prop('readonly',e.value);$(e.target).trigger('webform:readonly').find('select, input, textarea, button').trigger('webform:readonly');}});$document.on('state:visible state:visible-slide',function(e){if(e.trigger&&$(e.target).isWebformElement())if(e.value)$(':input',e.target).addBack().each(function(){restoreValueAndRequired(this);triggerEventHandlers(this);});else $(':input',e.target).addBack().each(function(){backupValueAndRequired(this);clearValueAndRequired(this);triggerEventHandlers(this);});});$document.on('state:visible-slide',function(e){if(e.trigger&&$(e.target).isWebformElement()){var effect=e.value?'slideDown':'slideUp';var duration=Drupal.webform.states[effect].duration;$(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper')[effect](duration);}});Drupal.states.State.aliases['invisible-slide']='!visible-slide';$document.on('state:disabled',function(e){if(e.trigger&&$(e.target).isWebformElement()){$(e.target).prop('disabled',e.value).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled',e.value).find('select, input, textarea, button').prop('disabled',e.value);var fileElements=$(e.target).find(':input[type="hidden"][name$="[fids]"]');if(fileElements.length){if($(e.target).is('fieldset'))$(e.target).prop('disabled',false);fileElements.removeAttr('disabled');}$(e.target).trigger('webform:disabled').find('select, input, textarea, button').trigger('webform:disabled');}});Drupal.behaviors.webformCheckboxesRequired={attach:function(context){$(once('webform-checkboxes-required','.js-form-type-checkboxes.required, .webform-term-checkboxes.required, .js-form-type-webform-checkboxes-other.required, .js-webform-type-checkboxes.required, .js-webform-type-webform-checkboxes-other.required, .js-webform-type-webform-radios-other.checkboxes',context)).each(function(){var $element=$(this);$element.find('input[type="checkbox"]').on('click',statesCheckboxesRequiredEventHandler);setTimeout(function(){checkboxesRequired($element);});});}};Drupal.behaviors.webformRadiosRequired={attach:function(context){$(once('webform-radios-required','.js-form-type-radios, .js-form-type-webform-radios-other, .js-webform-type-radios, .js-webform-type-webform-radios-other, .js-webform-type-webform-entity-radios, .js-webform-type-webform-scale',context)).each(function(){var $element=$(this);setTimeout(function(){radiosRequired($element);});});}};Drupal.behaviors.webformTableSelectRequired={attach:function(context){$(once('webform-tableselect-required','.js-webform-tableselect.required',context)).each(function(){var $element=$(this);var $tbody=$element.find('tbody');var isMultiple=$element.is('[multiple]');if(isMultiple)$tbody.find('input[type="checkbox"]').on('click change',function(){checkboxesRequired($tbody);});setTimeout(function(){isMultiple?checkboxesRequired($tbody):radiosRequired($element);});});}};function checkboxesRequired($element){var $firstCheckbox=$element.find('input[type="checkbox"]').first();var isChecked=$element.find('input[type="checkbox"]').is(':checked');toggleRequired($firstCheckbox,!isChecked);copyRequireMessage($element,$firstCheckbox);}function radiosRequired($element){var $radios=$element.find('input[type="radio"]');var isRequired=$element.hasClass('required');toggleRequired($radios,isRequired);copyRequireMessage($element,$radios);}function statesCheckboxesRequiredEventHandler(){var $element=$(this).closest('.js-webform-type-checkboxes, .js-webform-type-webform-checkboxes-other, .js-webform-type-webform-term-checkboxes, .js-webform-tableselect tbody');checkboxesRequired($element);}function triggerEventHandlers(input){var $input=$(input);var type=input.type;var tag=input.tagName.toLowerCase();var extraParameters=['webform.states'];if(type==='checkbox'||type==='radio')$input.trigger('change',extraParameters).trigger('blur',extraParameters);else if(tag==='select'){if($input.closest('.webform-type-address').length){if(!$input.data('webform-states-address-initialized')&&$input.attr('autocomplete')==='country'&&$input.val()===$input.find("option[selected]").attr('value'))return;$input.data('webform-states-address-initialized',true);}$input.trigger('change',extraParameters).trigger('blur',extraParameters);}else{if(type!=='submit'&&type!=='button'&&type!=='file'){var hasInputMask=($.fn.inputmask&&$input.hasClass('js-webform-input-mask'));hasInputMask&&$input.inputmask('remove');$input.trigger('input',extraParameters).trigger('change',extraParameters).trigger('keydown',extraParameters).trigger('keyup',extraParameters).trigger('blur',extraParameters);hasInputMask&&$input.inputmask();}}}function backupValueAndRequired(input){var $input=$(input);var type=input.type;var tag=input.tagName.toLowerCase();if($input.prop('required')&&!$input.hasData('webform-required'))$input.data('webform-required',true);if(!$input.hasData('webform-value'))if(type==='checkbox'||type==='radio')$input.data('webform-value',$input.prop('checked'));else if(tag==='select'){var values=[];$input.find('option:selected').each(function(i,option){values[i]=option.value;});$input.data('webform-value',values);}else{if(type!=='submit'&&type!=='button')$input.data('webform-value',input.value);}}function restoreValueAndRequired(input){var $input=$(input);var value=$input.data('webform-value');if(typeof value!=='undefined'){var type=input.type;var tag=input.tagName.toLowerCase();if(type==='checkbox'||type==='radio')$input.prop('checked',value);else if(tag==='select')$.each(value,function(i,option_value){option_value=option_value.replace(/'/g,"\\\'");$input.find("option[value='"+option_value+"']").prop('selected',true);});else{if(type!=='submit'&&type!=='button')input.value=value;}$input.removeData('webform-value');}var required=$input.data('webform-required');if(typeof required!=='undefined'){if(required)$input.prop('required',true);$input.removeData('webform-required');}}function clearValueAndRequired(input){var $input=$(input);if($input.closest('[data-webform-states-no-clear]').length)return;var type=input.type;var tag=input.tagName.toLowerCase();if(type==='checkbox'||type==='radio')$input.prop('checked',false);else if(tag==='select')if($input.find('option[value=""]').length)$input.val('');else input.selectedIndex=-1;else{if(type!=='submit'&&type!=='button')input.value=(type==='color')?'#000000':'';}$input.prop('required',false);}function toggleRequired($input,required){var isCheckboxOrRadio=($input.attr('type')==='radio'||$input.attr('type')==='checkbox');if(required)if(isCheckboxOrRadio)$input.attr({'required':'required'});else $input.attr({'required':'required','aria-required':'true'});else{if(isCheckboxOrRadio)$input.removeAttr('required');else $input.removeAttr('required aria-required');$input.each(function(){this.setCustomValidity&&this.setCustomValidity('');});}}function copyRequireMessage($source,$destination){if($source.attr('data-msg-required'))$destination.attr('data-msg-required',$source.attr('data-msg-required'));}})(jQuery,Drupal,once);; (function($,Drupal,once){'use strict';Drupal.behaviors.webformRemoveFormSingleSubmit={attach:function attach(){function onFormSubmit(e){var $form=$(e.currentTarget);$form.removeAttr('data-drupal-form-submit-last');}$(once('webform-single-submit','body')).on('submit.singleSubmit','form.webform-remove-single-submit',onFormSubmit);}};Drupal.behaviors.webformDisableAutoSubmit={attach:function(context){$(once('webform-disable-autosubmit',$('.js-webform-disable-autosubmit input').not(':button, :submit, :reset, :image, :file'))).on('keyup keypress',function(e){if(e.which===13){e.preventDefault();return false;}});}};Drupal.behaviors.webformRequiredError={attach:function(context){$(once('webform-required-error',$(context).find(':input[data-webform-required-error], :input[data-webform-pattern-error]'))).on('invalid',function(){this.setCustomValidity('');if(this.valid)return;if(this.validity.patternMismatch&&$(this).attr('data-webform-pattern-error'))this.setCustomValidity($(this).attr('data-webform-pattern-error'));else{if(this.validity.valueMissing&&$(this).attr('data-webform-required-error'))this.setCustomValidity($(this).attr('data-webform-required-error'));}}).on('input change',function(){var name=$(this).attr('name');$(this.form).find(':input[name="'+name+'"]').each(function(){this.setCustomValidity('');});});}};$(document).on('state:required',function(e){$(e.target).filter(':input[data-webform-required-error]').each(function(){this.setCustomValidity('');});});})(jQuery,Drupal,once);;