"use strict";function AgentLocatorService(n,t,i,r,u){var f=this;f.getStaticMapImageUrlUrl=t+"AgentSearch/GetStaticMapImageUrl";f.getAgentsByLatitudeLongitudeUrl=t+"AgentSearch/getAgentsByLatitudeLongitude";f.getRepairFacilitiesByLatitudeLongitudeUrl=t+"AgentSearch/getRepairFacilitiesByLatitudeLongitude";f.isInFootprintUrl=t+"AgentSearch/IsInFootprint";f.getLanguagesSpokenByAgentsUrl=t+"AgentSearch/GetLanguagesSpokenByAgents";f.getWeekDayNamesUrl=t+"AgentSearch/GetWeekDayNames";f.isLoadingApi=!1;f.loadScriptDeferred=u.defer();f.getStaticMapImageUrl=function(t,i,r){return n.post(f.getStaticMapImageUrlUrl,{request:{geoCodes:t,imageSize:i,scale:r}})};f.getAgentsByLatitudeLongitude=function(t,i,r,u,e,o){return n.get(f.getAgentsByLatitudeLongitudeUrl+"?latitude="+t+"&longitude="+i+(r?"&radius="+r:"")+(u?"&language="+u:"")+(e?"&minimumResults="+e:"")+(o?"&cultureInfo="+o:""))};f.getRepairFacilitiesByLatitudeLongitude=function(t,i,r){return n.get(f.getRepairFacilitiesByLatitudeLongitudeUrl+"?latitude="+t+"&longitude="+i+(r?"&radius="+r:""))};f.loadMapScript=function(n){if(f.isLoadingApi)return f.loadScriptDeferred.promise;if(angular.isUndefined(window.google)){f.isLoadingApi=!0;var t=document.createElement("script");t.src=i+n;t.onload=function(){f.isLoadingApi=!1;r.$apply(f.loadScriptDeferred.resolve())};document.body.appendChild(t)}else f.loadScriptDeferred.resolve();return f.loadScriptDeferred.promise};f.formatAgent=function(n){n.image&&(n.photoStyle={"background-image":"url(data:image/JPEG;base64,"+n.image+")"});var t=[];angular.forEach(n.agentContact,function(n){n.value&&n.value!=="0"&&t.push(n)});n.contactInfo=t;delete n.agentContact};f.formatShop=function(n){n.windowTitle=n.facilityName;var t=[];angular.forEach(n.contactInfo,function(n){n.value&&n.value!=="0"&&t.push(n)});n.contactInfo=t};f.isInFootprint=function(t){return n.post(f.isInFootprintUrl,{state:t})};f.getLanguagesSpokenByAgents=function(t){return n.get(f.getLanguagesSpokenByAgentsUrl+"?cultureInfo="+t)};f.getWeekDayNames=function(t){return n.get(f.getWeekDayNamesUrl+"?cultureInfo="+t)}}function AgencyBaseballCard(n){return{restrict:"E",scope:{agency:"&"},templateUrl:"templates/agency-baseball-card-template.html",link:function(t,i,r){if(t.agencyProfile=null,t.agentBio=null,angular.isUndefined(r.agency))throw'"agency" is a required attributes for agent baseball card';if(!t.agency())throw'"agency" has no value for agent baseball card';t.agencyProfile=t.agency();t.agencyProfile.agencyInfo&&t.agencyProfile.agencyInfo.principalAgentBio&&(t.agentBio=n.trustAsHtml(t.agencyProfile.agencyInfo.principalAgentBio));t.toggleAgencyBio=function(){$(".baseball-bio").toggle();$(".baseball-bio").is(":visible")?$(".baseball>header").css("margin-bottom","2em"):$(".baseball>header").css("margin-bottom","5em")}}}}function AgencyButton(){return{restrict:"E",scope:{agency:"&"},templateUrl:"templates/agency-button-template.html",link:function(n){n.goToAgentProfilePage=function(n){location.href=location.protocol+"//"+location.hostname+"/agencies/"+n}}}}function AgencyContactInfo(){return{restrict:"E",scope:{agentList:"&"},templateUrl:"templates/agency-contact-info.html",link:function(n,t,i){function h(n,t){var i="Sunday Monday Tuesday Wednesday Thursday Friday Saturday",r=i.indexOf(n.DayName),u=i.indexOf(t.DayName);return n===t?0:r>u}function o(n){if(n.StartTime==="Closed")return null;var t="";switch(n.DayName){case"Sunday":t+="Su";break;case"Monday":t+="Mo";break;case"Tuesday":t+="Tu";break;case"Wednesday":t+="We";break;case"Thursday":t+="Th";break;case"Friday":t+="Fr";break;case"Saturday":t+="Sa"}return t+=" ",t+=s(n.StartTime),t+="-",t+s(n.EndTime)}function s(n){var t=/^(\d{1,2}):(\d{2})\s+([ap])\.?m\.?$/.exec(n);return t===null||t.length<4?"":(t[1]=parseInt(t[1],10),t[3]==="p"&&(t[1]+=12),t[1]+":"+t[2])}var u,r,f,e;if(angular.isUndefined(i.agentList))throw'"agentList" is a required attributes for agent contact info';if(n.agency=n.agentList()[0],!n.agency)throw'"agency" has no value for agent contact info';for(n.hours=JSON.parse(n.agency.agencyInfo.businessHoursOperationDescription),u=[],n.hours.HoursOfOperation.sort(h),r=0,f=n.hours.HoursOfOperation.length;r<f;r++)e=o(n.hours.HoursOfOperation[r]),e!==null&&u.push(o(n.hours.HoursOfOperation[r]));n.hours.schema=u.join(",");n.directionsUrl="https://www.google.com/maps/dir/Current+Location/"+n.agency.address.geoCode.latitude+","+n.agency.address.geoCode.longitude;n.addressText=i.headerAddress||"Address";n.hoursText=i.headerHours||"Office Hours";n.phoneText=i.headerPhone||"Phone";n.website=i.headerWebsite||"Website";n.faxText=i.headerFax||"Fax";n.tollfreeText=i.headerTollfree||"Toll-Free Phone";n.defaultHeader=i.headerDefault||"Contact";n.directionsText=i.directionsText||"Get directions";n.closedText=i.closedText||"Closed"}}}function AgencyMap(n,t,i){return{restrict:"E",scope:{agentList:"&",showStatic:"@",allowEmpty:"@",height:"@",width:"@"},templateUrl:"templates/agency-map-template.html",link:function(r,u,f){function h(n,u){var f=t.defer();return i.getStaticMapImageUrl(r.geoCodes,{height:u||375,width:n||700}).then(function(n){if(n&&n.data){var t=n.data;t?f.resolve("data:image/png;base64,"+t):f.reject()}},function(){f.reject()}),f.promise}function o(n){r.markers.length>0&&(angular.forEach(r.markers,function(n){n.setMap&&n.setMap(null)}),r.markers=[]);angular.forEach(r.agentList(),function(t){var u={lat:t.address.geoCode.latitude,lng:t.address.geoCode.longitude},f,e,i;n&&(f=(t.firstName&&t.lastName?"<h4>"+t.firstName+" "+t.lastName+"<\/h4>":"")+"<div><strong>"+(t.windowTitle||t.agencyName)+"<\/strong><br/>"+t.address.line1+"<br/>"+(t.address.line2?t.address.line2+"<br/>":"")+t.address.city+", "+t.address.state+" "+t.address.zip+"<\/div>",e=new google.maps.InfoWindow({content:f}));i=n?new google.maps.Marker({position:u,map:r.map,title:t.windowTitle||(t.firstName&&t.lastName?t.firstName+" "+t.lastName+", ":"")+t.agencyName}):{position:u};r.markers.push(i);r.geoCodes.push({latitude:i.position.lat,longitude:i.position.lng})})}function s(){var n=[],t;angular.forEach(r.markers,function(t){n.push(t.position)});n.length>0&&(t=new google.maps.LatLngBounds,angular.forEach(n,function(n){t.extend(n)}),r.map.fitBounds(t))}var e=!1;if(r.map=null,r.markers=[],r.geoCodes=[],r.mapImg=null,r.imgAlt="agencies",r.parseHeight=null,r.parseWidth=null,r.loadMap=function(){r.showStatic||i.loadMapScript("").then(function(){if(r.map===null)r.map=new google.maps.Map(u.find(".agency-map")[0],{center:{lat:42.130591,lng:-80.083854},zoom:15});o(!0);n(function(){r.agentList().length===1?r.map.setCenter({lat:r.agentList()[0].address.geoCode.latitude,lng:r.agentList()[0].address.geoCode.longitude}):s()});e=!0})},r.$watch(function(){return r.agentList()},function(){e&&(o(angular.isUndefined(f.showStatic)||r.showStatic==="false"),n(function(){s()}))},!0),angular.isUndefined(f.allowEmpty)||r.allowEmpty==="false"){if(angular.isUndefined(f.agentList))throw'"agentList" is a required attributes for agency map';if(r.agentList()===null||angular.isUndefined(r.agentList())||r.agentList().length===0)throw'"agentList" contains no agents';}angular.isDefined(f.height)&&r.height&&(r.parseHeight=parseInt(r.height)||null);angular.isDefined(f.width)&&r.width&&(r.parseWidth=parseInt(r.width)||null);r.agentList()&&r.agentList().length===1&&(r.imgAlt=r.agentList()[0].agencyName||"agency");angular.isDefined(f.showStatic)&&r.showStatic!=="false"?(o(),h(r.parseWidth,r.parseHeight).then(function(n){r.mapImg=n;e=!0},function(){r.loadMap()})):r.loadMap()}}}function AgencyOfficeHours(){return{restrict:"E",scope:{businessHoursOperationDescription:"=",agencyAccountNumber:"=",prefix:"@",openText:"@?",closedText:"@?",headerHours:"@?",weekDays:"@?",noneListed:"@?"},templateUrl:"templates/agency-office-hours-template.html",link:function(n,t,i){function v(t,i){var r=n.weekDays,u=r.indexOf(t.DayName),f=r.indexOf(i.DayName);return t===i?0:u>f}function h(n){if(n===undefined||n.StartTime==="Closed")return null;var t="";switch(n.DayName){case"Sunday":t+="Su";break;case"Monday":t+="Mo";break;case"Tuesday":t+="Tu";break;case"Wednesday":t+="We";break;case"Thursday":t+="Th";break;case"Friday":t+="Fr";break;case"Saturday":t+="Sa";break;case"Domingo":t+="Do";break;case"Lunes":t+="Lu";break;case"Martes":t+="Ma";break;case"Miércoles":t+="Mi";break;case"Jueves":t+="Ju";break;case"Viernes":t+="Vi";break;case"Sábado":t+="Sá"}return t+=" ",t+=c(n.StartTime),t+="-",t+c(n.EndTime)}function c(n){var t=/^(\d{1,2}):(\d{2})\s+([ap])\.?m\.?$/.exec(n);return t===null||t.length<4?"":(t[1]=parseInt(t[1],10),t[3]==="p"&&(t[1]+=12),t[1]+":"+t[2])}var u,f,e,r,o,s;for(n.closedText=i.closedText||"Closed",n.openText=i.closedText||"Open",n.hoursText=i.headerHours||"Hours",n.weekDays=i.weekDays||"Sunday Monday Tuesday Wednesday Thursday Friday Saturday",n.noneListed=i.noneListed||"None Listed",n.isOpen=!0,n.isHoursListed=!1,u=n.weekDays.split(" "),f=[],n.hours=JSON.parse(n.businessHoursOperationDescription),e=function(){if(n.hours&&n.hours.HoursOfOperation)for(var t=0;t<n.hours.HoursOfOperation.length;t++)if(n.hours.HoursOfOperation[t].StartTime!=null){n.isHoursListed=!0;return}},e(),n.hours.HoursOfOperation.sort(v),r=0,o=n.hours.HoursOfOperation.length;r<o;r++)s=h(n.hours[r]),s!==null&&f.push(h(n.hours.HoursOfOperation[r]));n.hours.schema=f.join(",");n.isCurrentDay=function(n){return n===u[(new Date).getDay()]};var l=function(n,t){var i=t.split(":");return n.setHours(parseInt(i[0],10)),n.setMinutes(parseInt(i[1],10)),n},a=function(n){var t=Number(n.match(/^(\d+)/)[1]),f=Number(n.match(/:(\d+)/)[1]),i=n.match(/\s(.*)$/)[1],r,u;return i=="p.m."&&t<12&&(t=t+12),i=="a.m."&&t==12&&(t=t-12),r=t.toString(),u=f.toString(),r+":"+u},y=function(){for(var t=[],f=(new Date).getDay(),u,i,r=f+1;r<n.hours.HoursOfOperation.length;r++)t.push(n.hours.HoursOfOperation[r]);for(u=0;u<f;u++)t.push(n.hours.HoursOfOperation[u]);for(i=0;i<t.length-1;i++)if(t[i].StartTime!=="Closed")return t[i];return null};n.getCurrentDayAvailability=function(){var t=n.hours.HoursOfOperation.filter(function(n){return n.DayName===u[(new Date).getDay()]})[0],r=y();if(t.StartTime===undefined||t.StartTime===null||t.StartTime==="Closed")return n.isOpen=!1,r.StartTime;var i=new Date,e=a(t.StartTime),o=a(t.EndTime),f=i.getTime(),s=l(new Date(i),e),h=l(new Date(i),o);return f>=s.getTime()&&f<h.getTime()?t.EndTime:(n.isOpen=!1,r.EndTime)};n.getCurrentDayAvailability()}}}function AgencySearch(n,t,i,r,u){return{restrict:"E",scope:{searchTerm:"&",cookieName:"@",allowAgentSelection:"@",messageLink:"@",clearCookieOnSelect:"@",resultsPerPage:"@",extendedRadius:"@",minimumResults:"@",searchType:"@",showAdjuster:"@",textSearch:"@?",textSearchAgain:"@?",textMyAgent:"@?",textSelectAgent:"@?",textHours:"@?",textAlsoSpeaks:"@?",textEmailAgent:"@?",textEmailRepairShop:"@?",textGetDirections:"@?",textShowMoreAgents:"@?",textShowMoreShops:"@?",textSearchLabel:"@?",drpSearchText:"@?",textLanguageLabel:"@?",allowFilterByLanguage:"=",offscreenHeaderAgency:"@?",offscreenHeaderDrp:"@?",searchResultsHeaderAgency:"@?",searchResultsHeaderDrp:"@?",zipCode:"@?",language:"@?",zipSearchErrorMessage:"@?",selectLanguage:"@?",skipSearchResults:"@?",outOfFootPrintErrorMsg:"@?",repairShopErrorMsg:"@?",agentsFoundMsg:"@?",agentsNotFoundMsg:"@?",agentsNotFoundInYourAreaMsg:"@?",resultFoundAgentMsg:"@?",resultsFoundAgentMsg:"@?",nearMsg:"@?",alsoFoundMsg:"@?",cultureInfo:"@?",openText:"@?",closedText:"@?",noneListed:"@?",agentsUnselectedMsg:"@?",agentsSelectedMsg:"@?"},templateUrl:"templates/agency-search-template.html",link:function(f,e,o){function tt(){f.settings.enableSelect=angular.isDefined(o.allowAgentSelection)?f.allowAgentSelection.toLowerCase()==="true":!0;angular.isDefined(o.cookieName)&&f.cookieName?f.selectedAgent=t.get(f.cookieName):f.settings.enableSelect=!1;angular.isDefined(o.clearCookieOnSelect)&&f.clearCookieOnSelect&&(f.selectedAgent=t.get(f.clearCookieOnSelect)||f.selectedAgent);angular.isDefined(o.messageLink)&&f.messageLink&&(f.settings.messageLink=f.messageLink);angular.isDefined(o.resultsPerPage)&&f.resultsPerPage&&(a=parseInt(f.resultsPerPage));angular.isDefined(o.extendedRadius)&&f.extendedRadius&&(f.settings.extendedRadius=parseInt(f.extendedRadius)||f.settings.extendedRadius);angular.isDefined(o.minimumResults)&&f.minimumResults&&(f.settings.minimumResults=parseInt(f.minimumResults)||f.settings.minimumResults);angular.isDefined(o.searchType)&&f.searchType&&p[f.searchType.toLowerCase()]!==undefined&&(f.settings.isAgentSearch=f.searchType.toLowerCase()===p.agent);f.settings.showAdjuster=angular.isDefined(o.showAdjuster)&&f.showAdjuster.toLowerCase()!=="false"}function k(n){var t=new google.maps.Geocoder;t.geocode({address:n,componentRestrictions:{country:"US"}},it)}function it(t,i){var e,u;if(i===google.maps.GeocoderStatus.OK){for(e="",u=0;u<t[0].address_components.length;u++)if(t[0].address_components[u].types[0]==="administrative_area_level_1"){e=t[0].address_components[u].short_name;break}n.isInFootprint(e).then(function(n){n&&n.data&&n.data.toLowerCase()==="true"?f.settings.isAgentSearch?d(t[0]):g(t[0]):(f.results=[],f.shownResults=[],f.shownResultsLessThanMinimum=[],f.settings.noResultsForLanguage=!1,f.settings.lessthanMinResultsForLanguage=!1,f.settings.isLoading=!1)},function(){f.settings.isAgentSearch?d(t[0]):g(t[0])})}else r(function(){rt()})}function d(t){s={lat:null,long:null,radius:null};var i=t.geometry.location;s.lat=i.lat();s.long=i.lng();f.results=[];f.shownResults=[];f.shownResultsLessThanMinimum=[];f.settings.isLoading=!0;f.settings.resultError=!1;$(".agent-search-zip").attr("invalid","false");n.getAgentsByLatitudeLongitude(s.lat,s.long,"",f.searchForm.language,f.settings.minimumResults,f.cultureInfo).then(v,l)}function g(t){s={lat:null,long:null,radius:null};var i=t.geometry.location;s.lat=i.lat();s.long=i.lng();f.isAgentSearch=!1;f.results=[];f.shownResults=[];f.settings.isLoading=!0;f.settings.resultError=!1;$(".agent-search-zip").attr("invalid","false");n.getRepairFacilitiesByLatitudeLongitude(s.lat,s.long).then(y,l)}function v(t){var r,i,u;if(f.settings.noResultsForLanguage=!1,f.settings.lessthanMinResultsForLanguage=!1,t&&t.data&&t.data.orderSuccess){if(t.data.agentInformation!==null&&f.searchForm.language!==null&&f.searchForm.language!==""&&(r=t.data.agentInformation.filter(function(n){return n.languages[f.searchForm.language]!=undefined}),r.length===0&&t.data.agentInformation!=null&&t.data.agentInformation.length>0?f.settings.noResultsForLanguage=!0:r.length<f.settings.minimumResults&&(f.settings.lessthanMinResultsForLanguage=!0,f.shownResultsLessThanMinimum=r)),f.results=t.data.agentInformation,f.results.length<f.settings.minimumResults&&s.radius!==f.settings.extendedRadius){s.radius=f.settings.extendedRadius;n.getAgentsByLatitudeLongitude(s.lat,s.long,s.radius,f.searchForm.language,f.settings.minimumResults,f.cultureInfo).then(v,l);return}if(c=1,f.settings.lessthanMinResultsForLanguage)for(i=f.results.length-1;i>=0;i--)for(u=0;u<f.shownResultsLessThanMinimum.length;u++)f.results[i]&&f.results[i].agencyAccountNumber===f.shownResultsLessThanMinimum[u].agencyAccountNumber&&f.results.splice(i,1);f.shownResults=f.results.slice(0,c*a);angular.forEach(f.shownResults,function(t){n.formatAgent(t)});angular.forEach(f.shownResultsLessThanMinimum,function(t){n.formatAgent(t)});f.settings.isLoading=!1}else{if(f.results.length<f.settings.minimumResults&&s.radius!==f.settings.extendedRadius){s.radius=f.settings.extendedRadius;n.getAgentsByLatitudeLongitude(s.lat,s.long,s.radius,f.searchForm.language,f.settings.minimumResults,f.cultureInfo).then(v,l);return}f.settings.scriptLoaded=!0;f.settings.isLoading=!1}}function y(t){if(t&&t.data&&t.data.orderSuccess){if(f.results=t.data.repairFacilities,f.results.length<f.settings.minimumResults&&s.radius!==f.settings.extendedRadius){s.radius=f.settings.extendedRadius;n.getRepairFacilitiesByLatitudeLongitude(s.lat,s.long,s.radius).then(y,l);return}c=1;f.shownResults=f.results.slice(0,c*a);angular.forEach(f.shownResults,function(t){n.formatShop(t)});f.settings.isLoading=!1}else{if(f.results.length<f.settings.minimumResults&&s.radius!==f.settings.extendedRadius){s.radius=f.settings.extendedRadius;n.getRepairFacilitiesByLatitudeLongitude(s.lat,s.long,s.radius).then(y,l);return}f.settings.scriptLoaded=!0;f.settings.isLoading=!1}}function l(){f.settings.resultError=!0;f.settings.isLoading=!1;f.settings.scriptLoaded=!0;$(".agent-search-zip").attr("invalid","true")}function rt(){f.settings.isLoading=!1;f.settings.scriptLoaded=!0;f.settings.searchError=!0;$(".agent-search-zip").attr("invalid","true")}var c=1,a=10,nt={path:"/",domain:".erieinsurance.com",expires:new Date((new Date).setMonth((new Date).getMonth()+12))},s={lat:null,long:null,radius:null},p={agent:"agent",drp:"drp"},h,w,b;f.getRandomSpan=Math.floor(Math.random()*6+1);f.results=[];f.shownResults=[];f.selectedAgent="";f.isSearchFieldValid=!0;f.page=0;f.stringValues={searchText:o.textSearch||"Search by address.",drpSearchText:o.drpSearchText||"Search for a repair shop",searchAgain:o.textSearchAgain||"Search again.",myAgent:o.textMyAgent||"My Agent",selectAgent:o.textSelectAgent||"Select Agent",hours:o.textHours||"Hours",alsoSpeaks:o.textAlsoSpeaks||"Speaks",emailAgent:o.textEmailAgent||"Email Agent",emailRepairShop:o.textEmailRepairShop||"Email Repair Shop",getDirections:o.textGetDirections||"Get Directions",showMoreAgents:o.textShowMoreAgents||"Show More Agents",showMoreShops:o.textShowMoreShops||"Show More Shops",searchLabel:o.textSearchLabel||"Address, City, State or Zip",languageLabel:o.textLanguageLabel||"Language Spoken",offscreenHeaderAgency:o.offscreenHeaderAgency||"Agent Search",offscreenHeaderDrp:o.offscreenHeaderDrp||"Direct Repair Search",searchResultsHeaderAgency:o.searchResultsHeaderAgency||"We found the following:",searchResultsHeaderDrp:o.searchResultsHeaderDrp||"We found the following:",zipSearchErrorMessage:o.zipSearchErrorMessage||"Enter a valid address, city, state or Zip",selectLanguage:o.selectLanguage||"Select a language",skipSearchResults:o.skipSearchResults||"Skip to search results",outOfFootPrintErrorMsg:o.outOfFootPrintErrorMsg||"We’re sorry, but independent agents representing Erie Insurance are not available in your area.",repairShopErrorMsg:o.repairShopErrorMsg||"We're sorry, but we do not have a recommended auto repair shop in the area.If you have any questions, get in touch with your local ERIE agent or claims adjuster.",agentsFoundMsg:o.agentsFoundMsg||"We did find the following agents:",agentsNotFoundMsg:o.agentsNotFoundMsg||"We weren’t able to find any agents speaking",agentsNotFoundInYourAreaMsg:o.agentsNotFoundInYourAreaMsg||"in your area.",resultFoundAgentMsg:o.resultFoundAgentMsg||"result found for agents who speak",resultsFoundAgentMsg:o.resultsFoundAgentMsg||"results found for agents who speak",nearMsg:o.nearMsg||"near",alsoFoundMsg:o.alsoFoundMsg||"We also found:",cultureInfo:o.cultureInfo||"",closedText:o.closedText,openText:o.openText,weekDayNames:"",noneListed:"",agentsSelectedMsg:o.agentsSelectedMsg,agentsUnselectedMsg:o.agentsUnselectedMsg};f.settings={scriptLoaded:!1,isLoading:!0,enableSelect:!0,searchError:!1,noScript:!1,resultError:!1,isAgentSearch:!0,eiUrl:i,messageLink:"",extendedRadius:60,minimumResults:5,showAdjuster:!1,shownSearchText:f.searchTerm()?f.stringValues.searchAgain:f.stringValues.searchText,noResultsForLanguage:!1,lessthanMinResultsForLanguage:!1,allowFilterByLanguage:o.allowFilterByLanguage||!1,lang:o.cultureInfo==="es-MX"?"es":"en"};h=function(){var f=u.location.search.substring(1),t={},i=f.split("&"),r,n;for(r in i)n=i[r].split("="),t[decodeURIComponent(n[0].toLowerCase())]=decodeURIComponent(n[1]);return t};f.searchForm={enteredText:o.zipCode?h().zipcode?h().zipcode:"":"",newSearch:o.zipCode?h().zipcode?h().zipcode:"":"",language:o.language?h().language?h().language:"":""};f.searchForLanguage=o.language?h().language?h().language:"":"";f.mapParam=o.cultureInfo==="es-MX"?"&language=es":"";f.showMore=function(){var i,t,r;f.shownResults.length<f.results.length&&(i=f.results.slice(c*a,++c*a),angular.forEach(i,function(t){n[f.settings.isAgentSearch?"formatAgent":"formatShop"](t)}),Array.prototype.push.apply(f.shownResults,i),f.page=f.page+1,t=10*f.page+1,r=Math.max(document.documentElement.clientWidth,window.innerWidth||0),r>1025?t>10&&setTimeout(function(){$(".agency-information-block:nth-of-type("+t+") .agency-name a")[0].focus()},50):setTimeout(function(){$($(".agency-information-block-mobile")[t-1]).find(".agency-name a")[0].focus()},50))};f.searchAgain=function(n){if(n!=undefined){var t=$("#"+n),r=$('[id^="txtSearch"]',t).val(),i=$("#ddLanguage",t).val(),u=$("#ddLanguage option:selected",t).text();f.page=0;r!=null&&(f.searchForm.enteredText=r);i==""||i==null?f.searchForm.language="":(f.searchForm.language=i.substring(7),f.searchForm.languageText=u)}f.searchForm.language==null&&(f.searchForm.language="");f.searchForm.enteredText&&(f.searchForLanguage=f.searchForm.language,f.searchForLanguageText=f.searchForm.languageText,f.settings.isLoading=f.searchForm.enteredText&&f.searchForm.enteredText.length>0,f.searchForm.newSearch=f.searchForm.enteredText,f.searchForm.newSearch&&(f.settings.shownSearchText=f.stringValues.searchAgain,f.settings.searchError=!1,k(f.searchForm.enteredText)));f.isSearchFieldValid=f.searchForm.enteredText?!0:!1;f.isSearchFieldValid?($(".agent-search-zip")[0].removeAttribute("aria-describedby"),$(".agent-search-zip")[0].setAttribute("aria-invalid",!1)):($(".agent-search-zip")[0].setAttribute("aria-describedby","zip_search_error_message"),$(".agent-search-zip")[0].setAttribute("aria-invalid",!0))};f.$watch("searchForm.enteredText",function(n){n||(f.isSearchFieldValid=!1);f.isSearchFieldValid?($(".agent-search-zip")[0].removeAttribute("aria-describedby"),$(".agent-search-zip")[0].setAttribute("aria-invalid",!1)):($(".agent-search-zip")[0].setAttribute("aria-describedby","zip_search_error_message"),$(".agent-search-zip")[0].setAttribute("aria-invalid",!0))});f.selectAgent=function(n){if(f.settings.enableSelect)if(n!=f.selectedAgent&&(f.selectedAgent=null,t.remove(f.cookieName,n)),f.selectedAgent==null||f.selectedAgent==""){t.put(f.cookieName,n,nt);f.selectedAgent=n;angular.isDefined(o.clearCookieOnSelect)&&t.get(f.clearCookieOnSelect)&&t.remove(f.clearCookieOnSelect,{path:"/"});eig.SnackBar.create("#agentSelection",{message:f.stringValues.agentsSelectedMsg,showCloseButton:!1});f.$emit("agent-selected",n);var i=new CustomEvent("agent-selected",{detail:{agencyId:n}});window.dispatchEvent(i)}else eig.SnackBar.create("#agentSelection",{message:f.stringValues.agentsUnselectedMsg,showCloseButton:!1}),f.selectedAgent=null,t.remove(f.cookieName,n)};w=function(){n.getWeekDayNames(f.cultureInfo).then(function(n){n.data?f.stringValues.weekDayNames=n.data:console.log("Error while retrieving week day names.")},function(n){console.log(n)})};w();b=function(){f.settings.allowFilterByLanguage==="True"&&n.getLanguagesSpokenByAgents(f.cultureInfo).then(function(n){n.data&&n.data.isSuccess?(f.languages=n.data.languages,h().language&&(f.searchForm.language=h().language.toLowerCase(),f.searchForm.languageText=f.languages[h().language],f.searchForLanguageText=f.languages[h().language.toLowerCase()])):console.log("Error while retrieving languages.")},function(n){console.log(n)})};b();tt();n.loadMapScript(f.mapParam).then(function(){f.settings.scriptLoaded=!0;f.searchTerm()?k(f.searchTerm()):f.settings.isLoading=!1},function(){f.settings.noScript=!0;f.settings.isLoading=!1});f.isOutOfFootPrint=function(){return f.settings.isAgentSearch&&!f.settings.isLoading&&(!f.results||f.results.length===0)&&(!f.shownResultsLessThanMinimum||f.shownResultsLessThanMinimum.length===0)&&(f.searchTerm()!=""&&f.searchTerm()!=null||f.searchForm.newSearch!=""&&f.searchForm.newSearch!=null)&&!f.settings.resultError};f.skipToContent=function(){$(".messageAreaFocus").focus()}}}}function AgencySearchResults(){return{restrict:"E",scope:{agencyResults:"=",settings:"=",stringValues:"=",selectAgent:"&",selectedAgent:"="},templateUrl:"templates/agency-search-results-template.html",link:function(){}}}var agencyServiceModule,injectParams,module;(function(){var n=angular.module("Agency.Services",[]);n.constant("baseUrl","https://www.erieinsurance.com/AgentLocatorWeb/");n.constant("mapApiUrl","https://maps.googleapis.com/maps/api/js?client=gme-erieindemnitycompany");n.constant("eiUrl","https://www.erieinsurance.com/")})(),function(n,t){function i(n,i,r){var u=r.baseHref(),f=n[0];return function(n,r,e){var s,o;e=e||{};o=e.expires;s=t.isDefined(e.path)?e.path:u;t.isUndefined(r)&&(o="Thu, 01 Jan 1970 00:00:00 GMT",r="");t.isString(o)&&(o=new Date(o));r=encodeURIComponent(n)+"="+encodeURIComponent(r);r=r+(s?";path="+s:"")+(e.domain?";domain="+e.domain:"");r+=o?";expires="+o.toUTCString():"";r+=e.secure?";secure":"";e=r.length+1;4096<e&&i.warn("Cookie '"+n+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!");f.cookie=r}}t.module("ngCookies",["ng"]).provider("$cookies",[function(){var n=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(i,r){return{get:function(n){return i()[n]},getObject:function(n){return(n=this.get(n))?t.fromJson(n):n},getAll:function(){return i()},put:function(i,u,f){r(i,u,f?t.extend({},n,f):n)},putObject:function(n,i,r){this.put(n,t.toJson(i),r)},remove:function(i,u){r(i,void 0,u?t.extend({},n,u):n)}}}]}]);t.module("ngCookies").factory("$cookieStore",["$cookies",function(n){return{get:function(t){return n.getObject(t)},put:function(t,i){n.putObject(t,i)},remove:function(t){n.remove(t)}}}]);i.$inject=["$document","$log","$browser"];t.module("ngCookies").provider("$$cookieWriter",function(){this.$get=i})}(window,window.angular),function(){angular.module("Agency.Directives",["ngCookies","Agency.Services"])}();agencyServiceModule=angular.module("Agency.Services");injectParams=["$http","baseUrl","mapApiUrl","$rootScope","$q"];AgentLocatorService.$inject=injectParams;agencyServiceModule.service("agentLocatorService",AgentLocatorService);angular.module("Agency.Directives").filter("tel",function(){return function(n){if(!n)return"";var t=n.toString().trim().replace(/\D/,"").replace(/^1/,"");return t.length!==10?t:"("+t.slice(0,3)+") "+t.slice(3,6)+"-"+t.slice(6)}});angular.module("Agency.Directives").filter("nospace",function(){return function(n){return n?n.replace(/ /g,""):""}});angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-baseball-card-template.html",'<div class="baseball"> <header> <h2 class="offscreenHeader">Get to Know the Agent<\/h2> <div class="agent-photo" ng-if="agencyProfile.image" style="background-image: url(data:image/jpg;base64,{{agencyProfile.image}})"><\/div> <meta itemprop="image" content="data:image/jpg;base64,{{agencyProfile.image}}" /> <p ng-show="agencyProfile.shouldDisplayPrincipalAgent && agencyProfile.firstName && agencyProfile.lastName" class="baseball-name">{{agencyProfile.firstName}} {{agencyProfile.lastName}}<\/p> <p class="baseball-title" ng-show="agencyProfile.shouldDisplayPrincipalAgent">{{agencyProfile.agentTitle}}<\/p> <p class="baseball-experience" ng-if="agencyProfile.shouldDisplayPrincipalAgent && agencyProfile.agencyInfo.yearsExperience >= 10 && agencyProfile.agencyInfo.yearsExperience <= 75">{{agencyProfile.agencyInfo.yearsExperience}} years of experience<\/p> <\/header> <div class="baseball-bio" ng-if="agentBio" ng-bind-html="agentBio"><\/div> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-button-template.html",'<div class="agency-button" ng-if="agency()"> <div class="agent-photo" ng-click="goToAgentProfilePage(agency().agencyAccountNumber)" ng-if="agency().image" style="background-image: url(data:image/jpg;base64,{{agency().image}})"><\/div> <p class="agent-name" ng-click="goToAgentProfilePage(agency().agencyAccountNumber)" ng-show="agency().shouldDisplayPrincipalAgent && agency().firstName && agency().lastName">{{agency().firstName}} {{agency().lastName}}<\/p> <p class="agency-name" ng-click="goToAgentProfilePage(agency().agencyAccountNumber)">{{agency().agencyName}}<\/p> <section ng-repeat="contact in agency().agentContact | filter:{type: \'Phone\'}" ng-if="contact.value.length > 9"> <p>{{contact.value | tel}}<\/p> <\/section> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-contact-info.html",'<div class="contact-info"> <div class="contact-info-contact"> <section> <h3 class="smaller-variant agency-contact-address">{{addressText}}<\/h3> <p itemprop="streetAddress">{{agency.address.line1}}<\/p> <p ng-if="agency.address.line2">{{agency.address.line2}}<\/p> <p><span itemprop="addressLocality">{{agency.address.city}}<\/span>, <span itemprop="addressRegion">{{agency.address.state}}<\/span> <span itemprop="postalCode">{{agency.address.zip}}<\/span><\/p> <p><a href="{{directionsUrl}}" itemprop="hasMap">{{directionsText}}<\/a><\/p> <\/section> <section ng-repeat="contact in agency.agentContact" ng-if="contact.value.length > 9"> <h3 class="smaller-variant" ng-switch="contact.type"> <span ng-switch-when="Phone">{{phoneText}}<\/span> <span ng-switch-when="Website">{{website}}<\/span> <span ng-switch-when="Fax">{{faxText}}<\/span> <span ng-switch-when="PhoneTollFree">{{tollfreeText}}<\/span> <span ng-switch-default>{{defaultHeader}}<\/span> <\/h3> <a ng-if="contact.type != \'Fax\' && contact.type != \'Website\'" ng-attr-itemprop="{{(contact.type === \'Phone\') ? \'telephone\' : undefined}}" class="contact-info-phone" ng-href="tel: {{contact.value | tel}}">{{contact.value | tel}}<\/a> <span ng-if="contact.type === \'Fax\'" class="" >{{contact.value | tel}}<\/span> <span ng-if="contact.type === \'Website\'"><a ng-href="{{contact.value}}" target="_blank">Visit Agency Website<\/a><\/span> <\/section> <\/div> <div class="contact-info-hours"> <section> <h3 class="smaller-variant">{{hoursText}}<\/h3> <ul> <li ng-repeat="item in hours.HoursOfOperation">{{item.DayName}}: {{(item.StartTime.toLowerCase() === "closed") ? closedText : item.StartTime}} <span ng-if="item.EndTime.length > 0">&ndash; {{item.EndTime}}<\/span><\/li> <\/ul> <p class="contact-info-hours-other" ng-if="hours.OtherText">{{hours.OtherText}}<\/p> <meta itemprop="openingHours" content="{{hours.schema}}"/> <\/section> <\/div> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-map-template.html",'<div class="agency-map"> <div ng-if="mapImg" class="map-container" style="background-image: url(\'{{mapImg}}\')" title="map for {{imgAlt}}" ng-click="loadMap()"><\/div> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-office-hours-template.html",'<div class="contact-info-office-hours"> <section> <span class="hour-text" aria-label="hours">{{hoursText}}: <span ng-if="!hours || !isHoursListed">{{noneListed}}<\/span><span ng-if="hours && isHoursListed && isOpen" class="text-green">{{openText}}<\/span><span ng-if="hours && isHoursListed && !isOpen" class="text-red">{{closedText}}<\/span><a role="button" class="collapsed" ng-if="hours && isHoursListed" data-toggle="collapse" href="#{{prefix}}-office-hours-body-{{agencyAccountNumber}}" aria-expanded="false" aria-controls="{{prefix}}-office-hours-body-{{agencyAccountNumber}}" target="_self" aria-label="Agency operating hours"> <\/a><\/span> <div id="{{prefix}}-office-hours-body-{{agencyAccountNumber}}" class="contact-info-body panel-collapse collapse"> <ul> <li ng-class="{\'current-day\' : isCurrentDay(item.DayName)}" ng-repeat="item in hours.HoursOfOperation">{{item.DayName}}: {{(item.StartTime.toLowerCase() === "closed") ? closedText : item.StartTime}} <span ng-if="item.EndTime.length > 0">&ndash; {{item.EndTime}}<\/span><\/li> <\/ul> <p class="contact-info-hours-other" ng-if="hours.OtherText">{{hours.OtherText}}<\/p> <meta itemprop="openingHours" content="{{hours.schema}}" /> <\/div> <\/section> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-search-results-template.html",'<div class="agency-information-block clearfix" ng-hide="settings.isLoading" ng-repeat="result in agencyResults"> <div role="region" aria-labelledby="{{settings.isAgentSearch ? \'agency\'+$index + result.agencyName : \'shop\'+$index+result.facilityName | nospace}}"> <div class=" photo-layout " ng-class="settings.isAgentSearch ? \'\' : \' no-photo\'"> <div class="agent-photo" ng-if="settings.isAgentSearch" ng-style="result.photoStyle" ng-class="settings.isAgentSearch ? \'follow-link\' : \'\'"><\/div> <div class="agency-name-address" > <div ng-class="settings.isAgentSearch ? \'follow-link\' : \' no-photo\'"> <span ng-if="result.distance" class="distance">{{result.distance | number : 2}} mi<\/span> <p ng-if="settings.isAgentSearch" class="agency-name"> <a id="agency{{$index + result.agencyName | nospace}}" ng-href="{{settings.eiUrl}}Agencies/{{result.agencyAccountNumber}}">{{result.agencyName}}<\/a> <\/p> <p class="agency-name" ng-if="!settings.isAgentSearch"> <span id="shop{{$index + result.facilityName | nospace}}">{{result.facilityName}}<\/span> <\/p> <p ng-if="settings.showAdjuster && result.adjusterNumber">{{result.adjusterNumber}}<\/p> <p>{{result.address.line1}}<\/p> <p ng-if="result.address.line2">{{result.address.line2}}<\/p> <p>{{result.address.city}}, {{result.address.state}} {{result.address.zip}}<\/p> <p ng-if="!settings.isAgentSearch && result.hoursOfOperation"> <strong>{{stringValues.hours}}: {{result.hoursOfOperation}}<\/strong> <\/p> <\/div> <agency-office-hours ng-if="settings.isAgentSearch" business-hours-operation-description="result.agencyInfo.businessHoursOperationDescription" agency-account-number="result.agencyAccountNumber" prefix="lg" header-hours="{{stringValues.hours}}" closed-text="{{stringValues.closedText}}" open-text="{{stringValues.openText}}" week-days="{{stringValues.weekDayNames}}" none-listed="{{stringValues.noneListed}}"><\/agency-office-hours> <\/div> <\/div> <div class="detail-layout" ng-class="{\'\': settings.isAgentSearch, \' no-photo\': !settings.isAgentSearch,\'no-select\': !settings.enableSelect}"> <div ng-if="settings.enableSelect" class="select-agency-block"> <button aria-label="{{(result.agencyAccountNumber === selectedAgent ? \'My Agent (currently selected)\' : stringValues.selectAgent)}}" id="{{\'btnSelectAgent\' + $index}}" ng-class="result.agencyAccountNumber === selectedAgent ? \'selected-agent-button btn-solid-primary\' : \'select-agent-button btn-outline-primary\'" class="btn " ng-click="selectAgent({accountNumber: result.agencyAccountNumber})"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208.3%206.6%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ffffff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%228.3%200.9%207.3%200%202.7%204.7%201%203%200%203.9%202.7%206.6%203.6%205.6%203.6%205.6%208.3%200.9%22%2F%3E%3C%2Fsvg%3E" alt="checkmark" class="disassociate-icon">{{result.agencyAccountNumber === selectedAgent ? stringValues.myAgent : stringValues.selectAgent}}<\/button> <\/div> <div class="agency-secondary-information" ng-class="{\'no-select\': !settings.enableSelect ,\' drpSearch\': !settings.isAgentSearch}"> <p ng-repeat="contact in result.contactInfo | filter:{type:\'Phone\'}:true"> <a ng-href="tel:{{contact.value}}">{{contact.value | tel}}<\/a> <\/p> <p ng-if="settings.isAgentSearch && settings.messageLink"> <a ng-href="{{settings.eiUrl}}Agencies/{{result.agencyAccountNumber}}{{settings.messageLink}}">{{stringValues.emailAgent}}<\/a> <\/p> <p ng-if="!settings.isAgentSearch"> <a ng-href="mailto:{{result.email}}">{{stringValues.emailRepairShop}}<\/a> <\/p> <p class="get-directions"> <a id="{{\'resultDistance\' + $index}}" ng-href="{{\'http://maps.google.com/maps/?hl=\' +settings.lang+ \'&daddr=\'+result.address.line1}} {{result.address.line2}} {{result.address.city}}, {{result.address.state}} {{result.address.zip}}" target="_blank"> {{stringValues.getDirections}} <\/a> <\/p> <p ng-if="result.languagesSpoken && result.languagesSpoken.length" class="languages-spoken"> {{stringValues.alsoSpeaks}} {{result.languagesSpoken.join(\', \')}} <\/p> <\/div> <\/div> <\/div> <a id="{{\'showMoreFocus\'+ $index}}" role="presentation" class="sr-only showMoreFocus" tabindex="-1"><\/a> <\/div> <div class="agency-information-block-mobile clearfix" aria-labelledby="{{settings.isAgentSearch ? \'agency-mobile\'+$index + result.agencyName : \'shop-mobile\'+$index+result.facilityName | nospace}}" ng-hide="settings.isLoading" ng-repeat="result in agencyResults"> <div role="region" aria-labelledby="{{settings.isAgentSearch ? \'agency\'+$index + result.agencyName : \'shop\'+$index+result.facilityName | nospace}}"> <div class=" photo-layout " ng-class="settings.isAgentSearch ? \'\' : \' no-photo\'"> <div class="agent-photo follow-link" ng-style="result.photoStyle"> <a ng-href="{{settings.eiUrl}}Agencies/{{result.agencyAccountNumber}}"><\/a><\/div> <div ng-if="settings.enableSelect" class="select-agency-block"> <button aria-label="{{(result.agencyAccountNumber === selectedAgent ? \'My Agent (currently selected)\' : stringValues.selectAgent)}}" id="{{\'btnSelectAgentMobile\' + $index}}" ng-class="result.agencyAccountNumber === selectedAgent ? \'selected-agent-button btn-solid-primary\' : \'select-agent-button btn-outline-primary\'" class="btn " ng-click="selectAgent({accountNumber: result.agencyAccountNumber})"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208.3%206.6%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ffffff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%228.3%200.9%207.3%200%202.7%204.7%201%203%200%203.9%202.7%206.6%203.6%205.6%203.6%205.6%208.3%200.9%22%2F%3E%3C%2Fsvg%3E" alt="checkmark" class="disassociate-icon">{{result.agencyAccountNumber === selectedAgent ? stringValues.myAgent : stringValues.selectAgent}}<\/button> <\/div> <\/div> <div class="detail-layout"> <div class="agency-name-address"> <span ng-if="result.distance" class="distance">{{result.distance | number : 2}} mi<\/span> <p ng-if="settings.isAgentSearch" class="agency-name"> <a id="agency-mobile{{$index + result.agencyName | nospace}}" ng-href="{{settings.eiUrl}}Agencies/{{result.agencyAccountNumber}}">{{result.agencyName}}<\/a> <\/p> <p class="agency-name" ng-if="!settings.isAgentSearch"> <span id="shop-mobile{{$index + result.facilityName | nospace}}">{{result.facilityName}}<\/span> <\/p> <p ng-if="settings.showAdjuster && result.adjusterNumber">{{result.adjusterNumber}}<\/p> <p>{{result.address.line1}}<\/p> <p ng-if="result.address.line2">{{result.address.line2}}<\/p> <p>{{result.address.city}}, {{result.address.state}} {{result.address.zip}}<\/p> <p ng-if="!settings.isAgentSearch && result.hoursOfOperation"> <strong>{{stringValues.hours}}: {{result.hoursOfOperation}}<\/strong> <\/p> <agency-office-hours ng-if="settings.isAgentSearch" business-hours-operation-description="result.agencyInfo.businessHoursOperationDescription" agency-account-number="result.agencyAccountNumber" prefix="md" header-hours="{{stringValues.hours}}" closed-text="{{stringValues.closedText}}" open-text="{{stringValues.openText}}" week-days="{{stringValues.weekDayNames}}" none-listed="{{stringValues.noneListed}}"><\/agency-office-hours> <\/div> <div class="agency-secondary-information " ng-class="{\'drpSearch\': !settings.isAgentSearch}"> <p ng-repeat="contact in result.contactInfo | filter:{type:\'Phone\'}:true"> <a ng-href="tel:{{contact.value}}">{{contact.value | tel}}<\/a> <\/p> <p ng-if="settings.isAgentSearch && settings.messageLink"> <a ng-href="{{settings.eiUrl}}Agencies/{{result.agencyAccountNumber}}{{settings.messageLink}}">{{stringValues.emailAgent}}<\/a> <\/p> <p ng-if="!settings.isAgentSearch"> <a ng-href="mailto:{{result.email}}">{{stringValues.emailRepairShop}}<\/a> <\/p> <p class="get-directions"> <a id="{{\'resultDistanceMobile\' + $index}}" ng-href="{{\'http://maps.google.com/maps/?hl=\'+settings.lang+\'&daddr=\'+result.address.line1}} {{result.address.line2}} {{result.address.city}}, {{result.address.state}} {{result.address.zip}}" target="_blank"> {{stringValues.getDirections}} <\/a> <\/p> <p ng-if="result.languagesSpoken && result.languagesSpoken.length" class="languages-spoken"> {{stringValues.alsoSpeaks}} {{result.languagesSpoken.join(\', \')}} <\/p> <\/div> <\/div> <\/div> <a id="{{\'showMoreFocusMobile\'+ $index}}" role="presentation" class="sr-only showMoreFocusMobile" tabindex="-1"><\/a> <\/div>')}]);angular.module("Agency.Directives").run(["$templateCache",function(n){n.put("templates/agency-search-template.html",'<div class="agency-search row"> <div ng-if="settings.noScript || settings.resultError" class="no-results"> Something seems to have gone wrong. Please reload the page or try again later. <\/div> <div class="search-box" ng-if="!settings.noScript"> <h1 ng-if="settings.isAgentSearch" class="offscreenHeader">{{stringValues.offscreenHeaderAgency}}<\/h1> <h1 ng-if="!settings.isAgentSearch" class="offscreenHeader">{{stringValues.offscreenHeaderDrp}}<\/h1> <div class="form-group"> <h2 class="search-box-title">{{settings.shownSearchText}}<\/h2> <\/div> <form name="agentSearch" id="agentSearch" class="internal-submit" ng-submit="searchAgain(\'agentSearch\')" novalidate> <div class="form-group internal-label" ng-class="{\'has-error\': (settings.searchError || (agentSearch.search.$invalid && agentSearch.search.$touched))}"> <label for="txtSearch{{getRandomSpan}}">{{stringValues.searchLabel}}<\/label> <input type="text" aria-describedby="zip_search_error_message" value="→" invalid="{{(settings.searchError || (agentSearch.search.$invalid && agentSearch.search.$touched))}}" class="form-control agent-search-zip" id="txtSearch{{getRandomSpan}}" name="search" ng-model="searchForm.enteredText" placeholder="{{stringValues.searchLabel}}" maxlength="200" required ng-disabled="settings.isLoading" /> <input type="submit" id="get-a-quote-submit" name="submitSearch" value="→" class="btn-default" ng-disabled="settings.isLoading" aria-label="{{settings.shownSearchText}}" /> <span id="zip_search_error_message" class="error-message">{{stringValues.zipSearchErrorMessage}}<\/span> <\/div> <div class="form-group language-group" ng-if="settings.allowFilterByLanguage== \'True\'"> <label for="ddLanguage">{{stringValues.languageLabel }}<\/label> <span class="select-wrapper"> <select id="ddLanguage" name="language" class="form-control has-dummy dummy-selected" ng-options="key as value for (key , value) in languages" ng-model="searchForm.language" ng-change="searchAgain(\'agentSearch\')"> <option value="">{{stringValues.selectLanguage}}<\/option> <\/select> <\/span> <\/div> <\/form> <a href="#messageAreaFocus" class="eipl-skip-content">{{stringValues.skipSearchResults}}<\/a> <\/div> <div class="agency-map-container"> <agency-map agent-list="shownResults" allow-empty ng-if="settings.scriptLoaded"><\/agency-map> <\/div> <a id="messageAreaFocus" class="sr-only" tabindex="-1" ><\/a> <div id="searchResults" class="agency-result-list" ng-class="{\'has-search-error\': !isSearchFieldValid, \'has-language\' : (settings.allowFilterByLanguage== \'True\') }"> <div class="messageArea" id="messageArea"> <div class="no-results " ng-if="isOutOfFootPrint()"> <div class="alert alert-info"> {{stringValues.outOfFootPrintErrorMsg}} <\/div> <div class="footprint-map"><\/div> <\/div> <div class="no-results " ng-if="!settings.isAgentSearch && !settings.isLoading && (!results || results.length === 0) && searchForm.newSearch != \'\' && searchForm.newSearch != null && !settings.resultError"> <div class="alert alert-info "> {{stringValues.repairShopErrorMsg}} <\/div> <\/div> <div ng-if="!settings.isLoading && settings.noResultsForLanguage && results.length > 0" class="no-results"> <div class="alert alert-info "> {{stringValues.agentsNotFoundMsg}} <b>{{searchForLanguageText}}<\/b> {{stringValues.agentsNotFoundInYourAreaMsg}} <\/div> <h2 class="search-results-header "> {{stringValues.agentsFoundMsg}} <\/h2> <\/div> <div ng-if="!settings.isLoading && settings.isAgentSearch && results.length > 0 && searchForm.language == \'\'"> <h2 class="search-results-header">{{stringValues.searchResultsHeaderAgency }} <\/h2> <\/div> <div ng-if="!settings.isLoading && settings.lessthanMinResultsForLanguage" class="row minimum-result-container"> <h2 class=" minimum-result-label search-results-header" ng-if="shownResultsLessThanMinimum.length==1"> {{shownResultsLessThanMinimum.length}} {{stringValues.resultFoundAgentMsg}} ‘<b>{{searchForLanguageText}}<\/b>’ {{stringValues.nearMsg}} ‘<b>{{searchForm.newSearch}}<\/b>’. <\/h2> <h2 class=" minimum-result-label search-results-header" ng-if="shownResultsLessThanMinimum.length > 1"> {{shownResultsLessThanMinimum.length}} {{stringValues.resultsFoundAgentMsg}} ‘<b>{{searchForLanguageText}}<\/b>’ {{stringValues.nearMsg}} ‘<b>{{searchForm.newSearch}}<\/b>’. <\/h2> <\/div> <\/div> <div class="loader-container" ng-show="settings.isLoading"> <div class="loader loader-blue"><\/div> <\/div> <agency-search-results ng-if="settings.lessthanMinResultsForLanguage" agency-results="shownResultsLessThanMinimum" settings="settings" string-values="stringValues" select-agent="selectAgent(accountNumber)" selected-agent="selectedAgent"><\/agency-search-results> <div ng-if="!settings.isLoading && settings.lessthanMinResultsForLanguage && shownResults.length > 0" class="row"> <div class=""> <h2 class="search-results-header">{{stringValues.alsoFoundMsg}}<\/h2> <\/div> <\/div> <agency-search-results agency-results="shownResults" settings="settings" string-values="stringValues" select-agent="selectAgent(accountNumber)" selected-agent="selectedAgent"><\/agency-search-results> <div ng-hide="settings.isLoading" class="button-container " ng-class="{\'drpSearch\': !settings.isAgentSearch}"> <button ng-if="results.length > shownResults.length" class="btn btn-primary" ng-click="showMore()">{{settings.isAgentSearch ? stringValues.showMoreAgents : stringValues.showMoreShops}}<\/button> <\/div> <div aria-live="assertive" id="agentSelection"> <\/div> <\/div> <\/div>')}]);module=angular.module("Agency.Directives");injectParams=["$sce"];AgencyBaseballCard.$inject=injectParams;module.directive("eigagentbaseball",AgencyBaseballCard);module=angular.module("Agency.Directives");injectParams=["$timeout"];AgencyButton.$inject=injectParams;module.directive("agencyButton",AgencyButton);module=angular.module("Agency.Directives");injectParams=[];AgencyContactInfo.$inject=injectParams;module.directive("agencycontactinfo",AgencyContactInfo);module=angular.module("Agency.Directives");injectParams=["$timeout","$q","agentLocatorService"];AgencyMap.$inject=injectParams;module.directive("agencyMap",AgencyMap);module=angular.module("Agency.Directives");injectParams=[];AgencyOfficeHours.$inject=injectParams;module.directive("agencyOfficeHours",AgencyOfficeHours);module=angular.module("Agency.Directives");injectParams=["agentLocatorService","$cookies","eiUrl","$timeout","$window"];AgencySearch.$inject=injectParams;module.directive("agencySearch",AgencySearch);module=angular.module("Agency.Directives");module.directive("agencySearchResults",AgencySearchResults)