{"version":3,"sources":["modules/PageSetup.js"],"names":["PageSetup","textSize","showSpinner","item","$","addClass","removeSpinner","removeClass","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","getCookie","name","ca","split","i","length","c","charAt","substring","indexOf","findCouncilLocation","position","address","val","path","coords","latitude","longitude","ajax","url","type","success","response","window","location","href","origin","findCouncilandLocation","geocoder","google","maps","Geocoder","latlng","lat","parseFloat","lng","geocode","results","status","alert","handleNoGeolocation","errorMsg","off","on","slideUp","show","html","hide","slideDown","InitTooltips","each","this","tooltip","trigger","e","preventDefault","InitSearchButton","locationId","locationName","getElementById","McdMaps","setDefaultLocation","getResults","_a","organisationId","outletId","osrId","categoryGroupId","categoryId","rad","txt","where","councilId","state","shiftCategoryId","id","criteria","queryString","search","isFromTile","URLSearchParams","get","encodeURIComponent","userSearchModel","userSearch","console","error","contentType","dataType","data","JSON","stringify","result","responseText","saveUserSearch","Common","RequestLocation","ready","keypress","keyCode","click","tempUrl","InitNavigation","toggleClass","activeElement","blur","is","hasClass","appendTo","touchMoved","closePullouts","target","parents","InitSliders","not","slick","slidesToShow","attr","slide","InitPullout","next","shown","InitTextSizeChange","ChangeTextSize","ResetTextSize","text","incrementCount","parseInt","localStorage","getItem","setItem","SaveTextSize","size","toString","increment","css","font-size","ObfuscateEmails","emailStart","emailAt","setText","Boolean","InitMap","mapContainer","firstChild","event","MapView","LatLng","MY_MAPTYPE_ID","mapOptions","zoom","center","mapTypeControlOptions","mapTypeIds","MapTypeId","ROADMAP","Map","customMapType","StyledMapType","GetStandardMapStyle","mapTypes","set","ShowCategoriesMap","InitAutoComplete","q","categories","Bloodhound","datumTokenizer","tokenizers","obj","whitespace","queryTokenizer","remote","replace","query","beforeSend","settings","SearchTerm","shiftCategories","limit","tags","ev","orgs","CouncilRegionId","State","councils","complete","trim","initialize","typeahead","hint","minLength","highlight","displayKey","source","ttAdapter","templates","header","suggestion","Name","TagName","DisplayText","currentBatchExecutions","datum","CategoryGroupID","CategoryID","IsOrganisation","IsLocation","ID","ShiftCategoryID","DisplayName","Url","which","clickTarget","InitCouncilSearch","modal","focus","hideSelector","prop","navigator","geolocation","getCurrentPosition","posError","message","InitOneClick","closest","$form","Init","previouslyFocused","placeholder","field","find","filter","inputs","firstInput","first","lastInput","last","shiftKey","backdrop","keyboard","SetupTooltipsStyling","InitEventRegisterValidation","validator","setDefaults","errorClass","validClass","element","findByName","remove","append","unhighlight","addMethod","value","methods","call","re","RegExp","optional","match","trimmedValue","parseExact","regexp","test","mobileRe","trimValue","startsWith","newValue","substr","InitValidation","IsValidPassword","password","isValid","GeolocateCouncil","locationTypeahead","fieldName","locations","parent","LocalityID","SendMail","to","subject","body","email","To","Subject","Body","InitSearchResultsBehavior","InitSponsors","affiliateId","hideSponsors","isCommunityInfo","councilLogo","councilUrl","councilRegionId","getJSON","platformSponsor","dataSponsor","SponsorType","push","ImageBaseUrl","template","render","$template","removeAttr","autoplay","variableWidth","infinite","centreMode","hoverVal","baseVal","template2","$template2","SetCookie","GetCookie"],"mappings":"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","file":"PageSetup.min.js","sourcesContent":["var PageSetup;\r\n(function (PageSetup) {\r\n var textSize = 0;\r\n function showSpinner(item) {\r\n $(item).addClass(\"spinner\");\r\n }\r\n function removeSpinner(item) {\r\n $(item).removeClass(\"spinner\");\r\n }\r\n function setCookie(cname, cvalue, exdays) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \"; \" + expires + \"; secure=true\";\r\n }\r\n function getCookie(cname) {\r\n var name = cname + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ')\r\n c = c.substring(1);\r\n if (c.indexOf(name) === 0)\r\n return c.substring(name.length, c.length);\r\n }\r\n return \"\";\r\n }\r\n function findCouncilLocation(position) {\r\n var address = $(\"#autocomplete-location-new\").val();\r\n var path = \"/Display/SearchRegion?lat=\" + position.coords.latitude + \"&lng=\" + position.coords.longitude + \"&address=\" + address;\r\n $.ajax({\r\n url: path,\r\n type: \"POST\",\r\n success: function (response) {\r\n window.location.href = window.location.origin + '/' + response;\r\n }\r\n });\r\n }\r\n ;\r\n function findCouncilandLocation(position) {\r\n var geocoder = new google.maps.Geocoder();\r\n var latlng = {\r\n lat: parseFloat(position.coords.latitude),\r\n lng: parseFloat(position.coords.longitude),\r\n };\r\n geocoder.geocode({ location: latlng }, function (results, status) {\r\n if (status === \"OK\") {\r\n if (results[0]) {\r\n //$(\"#autocomplete-location-new\").val(results[0].formatted_address);\r\n }\r\n else {\r\n window.alert(\"No results found\");\r\n }\r\n }\r\n else {\r\n window.alert(\"Geocoder failed due to: \" + status);\r\n }\r\n });\r\n }\r\n function handleNoGeolocation(errorMsg) {\r\n $(\"#foundCouncilClose\").off(\"click\");\r\n $(\"#foundCouncilClose\").on(\"click\", function () {\r\n $(\"#foundCouncil\").slideUp('slow');\r\n });\r\n $(\"#foundCouncil .location-error\").show();\r\n $(\"#foundCouncil .location-error .message-text\").html(errorMsg);\r\n $(\"#foundCouncil .location-success\").hide();\r\n $(\"#foundCouncil\").slideDown('slow');\r\n }\r\n function isValidPassword(password) {\r\n var isValid = true;\r\n // password bigger than 6\r\n if (password.length > 6) {\r\n $(\"li.six-plus\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.six-plus\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n if (password.match(/[a-z]/)) {\r\n $(\"li.lcase\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.lcase\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n if (password.match(/[A-Z]/)) {\r\n $(\"li.ucase\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.ucase\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n //if password has at least one number give 1 point\r\n if (password.match(/\\d+/)) {\r\n $(\"li.numbers\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.numbers\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n if (password.indexOf(' ') == -1) {\r\n $(\"li.nospaces\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.nospaces\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n //if password has at least one special character give 1 point\r\n if (password.match(/.[!,@,#,$,%,^,&,*,=,?,_,~,-,.,(,)]/)) {\r\n $(\"li.punctuation\").addClass(\"complete\");\r\n }\r\n else {\r\n $(\"li.punctuation\").removeClass(\"complete\");\r\n isValid = false;\r\n }\r\n return isValid;\r\n }\r\n // platform sponsors\r\n function loadPlatformSponsors(affiliateId, councilRegionId, isCommunityInfo, councilLogo, councilUrl) {\r\n $.getJSON(\"/api/Sponsors/\" + affiliateId + \"/\" + councilRegionId, function (data) {\r\n if (data.length !== 0 || councilUrl !== \"\") {\r\n var platformSponsor = [];\r\n var dataSponsor = [];\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].SponsorType === 0) {\r\n platformSponsor.push(data[i]);\r\n }\r\n else {\r\n dataSponsor.push(data[i]);\r\n }\r\n }\r\n if (isCommunityInfo) {\r\n if (councilUrl !== \"\") {\r\n platformSponsor.push({\r\n ImageBaseUrl: councilLogo,\r\n Url: councilUrl\r\n });\r\n }\r\n }\r\n // Platform Sponsor //\r\n if (platformSponsor.length > 0) {\r\n $(\"#sponsorsDiv\").toggleClass('hidden');\r\n $(\"#lstPlatformSponsors\").parent().show();\r\n var template = $(\"#platformSponsorsTemplate\").render(platformSponsor);\r\n var $template = $(\"<div/>\").html(template);\r\n $(\".nofollow\", $template).removeAttr(\"rel\");\r\n template = $template.html();\r\n $(\"#lstPlatformSponsors\").html(template);\r\n $(\"#lstPlatformSponsors\").not('.slick-initialized').slick({\r\n slidesToShow: 2,\r\n slide: $(\"#lstPlatformSponsors\").attr(\"data-slick-slideElement\"),\r\n autoplay: true,\r\n variableWidth: true,\r\n infinite: true,\r\n centreMode: true\r\n });\r\n $(\"#sponsorsDiv img\").on(\"mouseover\", function () {\r\n var hoverVal = '';\r\n if ($(this).data(\"image-hover\") === \"\") {\r\n hoverVal = $(this).data(\"image-base\");\r\n }\r\n else {\r\n hoverVal = $(this).data(\"image-hover\");\r\n }\r\n $(this).attr(\"src\", hoverVal);\r\n });\r\n $(\"#sponsorsDiv img\").on(\"mouseout\", function () {\r\n var baseVal = $(this).data(\"image-base\");\r\n $(this).attr(\"src\", baseVal);\r\n });\r\n }\r\n // Data Sponsor //\r\n if (dataSponsor.length > 0) {\r\n $(\"#dataSponsorsDiv\").toggleClass('hidden');\r\n $(\"#lstDataSponsors\").parent().show();\r\n var template2 = $(\"#dataSponsorsTemplate\").render(dataSponsor);\r\n var $template2 = $(\"<div/>\").html(template2);\r\n $(\".nofollow\", $template2).removeAttr(\"rel\");\r\n template2 = $template2.html();\r\n $(\"#lstDataSponsors\").html(template2);\r\n $(\"#lstDataSponsors\").not('.slick-initialized').slick({\r\n slidesToShow: $(\"#lstDataSponsors\").attr(\"data-slick-slidesToShow\"),\r\n slide: $(\"#lstDataSponsors\").attr(\"data-slick-slideElement\"),\r\n autoplay: true\r\n });\r\n $(\"#dataSponsorsDiv img\").on(\"mouseover\", function () {\r\n var hoverVal = '';\r\n if ($(this).data(\"image-hover\") === \"\") {\r\n hoverVal = $(this).data(\"image-base\");\r\n }\r\n else {\r\n hoverVal = $(this).data(\"image-hover\");\r\n }\r\n $(this).attr(\"src\", hoverVal);\r\n });\r\n $(\"#dataSponsorsDiv img\").on(\"mouseout\", function () {\r\n var baseVal = $(this).data(\"image-base\");\r\n $(this).attr(\"src\", baseVal);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n // platform sponsors end\r\n function Init() {\r\n // Placeholder support for IE\r\n $('input').placeholder();\r\n var previouslyFocused;\r\n $(\".modal\").on(\"show.bs.modal\", function () {\r\n previouslyFocused = document.activeElement;\r\n });\r\n // Make first input field in a modal get focus\r\n $(\".modal\").on(\"shown.bs.modal\", function () {\r\n var field = $(this).find(\"input[type=text],textarea,select\").filter(\":visible:enabled:not([readonly]):first\");\r\n if (field != null) {\r\n field.focus();\r\n }\r\n $(this).attr(\"aria-hidden\", \"false\");\r\n // Handle behaviour when user _could_ be tabbing out of modal... confusing for screen reader users\r\n var inputs = $(\"select, input, textarea, button, a, [tabinput='0']\", this).filter(\":visible:not([disabled]):not([readonly])\");\r\n var firstInput = inputs.first();\r\n var lastInput = inputs.last();\r\n lastInput.on(\"keydown\", function (e) {\r\n if ((e.which === 9 && !e.shiftKey)) {\r\n e.preventDefault();\r\n firstInput.focus();\r\n }\r\n });\r\n firstInput.on(\"keydown\", function (e) {\r\n if ((e.which === 9 && e.shiftKey)) {\r\n e.preventDefault();\r\n lastInput.focus();\r\n }\r\n });\r\n });\r\n $(\".modal\").on(\"hidden.bs.modal\", function () {\r\n $(this).attr(\"aria-hidden\", \"true\");\r\n if (previouslyFocused) {\r\n $(previouslyFocused).focus();\r\n }\r\n });\r\n $(\"#popupModal\").modal({ backdrop: 'static', keyboard: false, show: true });\r\n // Initialise apsects of the page\r\n InitTooltips();\r\n InitSearchButton();\r\n InitNavigation();\r\n InitSliders();\r\n InitPullout();\r\n InitTextSizeChange();\r\n ObfuscateEmails();\r\n InitMap();\r\n InitAutoComplete();\r\n InitCouncilSearch();\r\n InitOneClick();\r\n // Tooltips for all elements with a non-empty title attribute\r\n Common.SetupTooltipsStyling();\r\n }\r\n PageSetup.Init = Init;\r\n function InitEventRegisterValidation() {\r\n $.validator.setDefaults({\r\n errorClass: \"has-error\",\r\n validClass: \"has-success\",\r\n highlight: function (element, errorClass, validClass) {\r\n if (element.type === \"radio\") {\r\n this.findByName(element.name).addClass(errorClass).removeClass(validClass);\r\n }\r\n else {\r\n $(element).closest('.form-row').removeClass(validClass).addClass(errorClass);\r\n $(element).closest('.form-row').find('i.glyphicon.form-control-feedback').remove();\r\n $(element).closest('.form-row').append('<i class=\"glyphicon glyphicon-remove form-control-feedback\"></i>');\r\n }\r\n },\r\n unhighlight: function (element, errorClass, validClass) {\r\n if (element.type === \"radio\") {\r\n this.findByName(element.name).removeClass(errorClass).addClass(validClass);\r\n }\r\n else {\r\n $(element).closest('.form-row').removeClass(errorClass).addClass(validClass);\r\n $(element).closest('.form-row').find('i.glyphicon.form-control-feedback').remove();\r\n $(element).closest('.form-row').append('<i class=\"glyphicon glyphicon-ok form-control-feedback\"></i>');\r\n }\r\n }\r\n });\r\n //$.validator.addMethod(\r\n // \"emailAvailable\",\r\n // function (value, element) {\r\n // var checkUrl = \"/api/Users/IsEmailAvailable\";\r\n // return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n // }, \"Email address already in use\"\r\n //);\r\n $.validator.addMethod(\"usernameAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsUsernameAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"User name not available\");\r\n $.validator.addMethod(\"mobileAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsMobileAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"That Mobile number is already in use\");\r\n //$.validator.addMethod(\r\n // \"emailAvailable\",\r\n // function (value, element) {\r\n // var checkUrl = \"/api/Users/IsEmailAvailable\";\r\n // return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n // }, \"Email address already in use\"\r\n //);\r\n $.validator.addMethod(\"mcdUsername\", function (value, element) {\r\n var re = new RegExp(/^[A-Za-z0-9_@\\.\\-]{5,}$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid username.\");\r\n $.validator.addMethod(\"ausPhone\", function (value, element) {\r\n var re = new RegExp(/^04\\d{8}\\s*$|^(04\\d{2}\\s\\d{3}\\s\\d{3})\\s*$|^(\\d{2}\\s*\\d{4}\\s*\\d{4})\\s*$|^(\\(*\\d{2}\\)\\s*\\d{4}\\s*\\d{4})\\s*$|^13(\\s*\\d{2}){2,3}$|^(1300|1800)\\s*\\d{3}\\s*\\d{3}\\s*$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid Australian phone number.\");\r\n $.validator.addMethod(\"ausMobile\", function (value, element) {\r\n var trimmedValue = value.replace(/[^\\d\\+]/gi, '');\r\n var re = new RegExp(/^\\({0,1}((0|\\+61)(4)){0,1}\\){0,1}(\\ |-){0,1}[0-9]{2}(\\ |-){0,1}[0-9]{2}(\\ |-){0,1}[0-9]{1}(\\ |-){0,1}[0-9]{3}$/);\r\n return this.optional(element) || trimmedValue.match(re);\r\n }, \"Please enter a valid Australian mobile number.\");\r\n $.validator.addMethod(\"ausDate\", function (value) {\r\n return Date.parseExact(value, \"d/M/yyyy\");\r\n }, \"Please enter a value date. eg. d/M/yyyy\");\r\n $.validator.addMethod(\"regex\", function (value, element, regexp) {\r\n var re = new RegExp(regexp);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please check your input.\");\r\n $.validator.addMethod(\"simpleUrl\", function (value, element) {\r\n // Customised version of the url test to make the prefix optional\r\n return this.optional(element) || /^((https?|ftp):\\/\\/)?(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.test(value);\r\n }, \"Please enter a valid URL.\");\r\n $.validator.addMethod(\"mcdEmail\", function (value, element) {\r\n var re = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid email address.\");\r\n $(\".ausMobile\").on(\"blur\", function () {\r\n var mobileRe = new RegExp(/^04\\d{8}$/);\r\n var trimValue = $(this).val();\r\n trimValue = trimValue.replace(/[^\\d\\+]/gi, '');\r\n if (trimValue.startsWith(\"+61\")) {\r\n trimValue = trimValue.replace(\"+61\", \"0\");\r\n }\r\n if (trimValue.match(mobileRe)) {\r\n var newValue = trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 3) + \" \" + trimValue.substr(7, 3);\r\n $(this).val(newValue);\r\n }\r\n });\r\n }\r\n PageSetup.InitEventRegisterValidation = InitEventRegisterValidation;\r\n function InitValidation() {\r\n $.validator.setDefaults({\r\n errorClass: \"has-error\",\r\n validClass: \"has-success\",\r\n highlight: function (element, errorClass, validClass) {\r\n if (element.type === \"radio\") {\r\n this.findByName(element.name).addClass(errorClass).removeClass(validClass);\r\n }\r\n else {\r\n $(element).closest('.form-row').removeClass(validClass).addClass(errorClass);\r\n $(element).closest('.form-row').find('i.glyphicon.form-control-feedback').remove();\r\n $(element).closest('.form-row').append('<i class=\"glyphicon glyphicon-remove form-control-feedback\"></i>');\r\n }\r\n },\r\n unhighlight: function (element, errorClass, validClass) {\r\n if (element.type === \"radio\") {\r\n this.findByName(element.name).removeClass(errorClass).addClass(validClass);\r\n }\r\n else {\r\n $(element).closest('.form-row').removeClass(errorClass).addClass(validClass);\r\n $(element).closest('.form-row').find('i.glyphicon.form-control-feedback').remove();\r\n $(element).closest('.form-row').append('<i class=\"glyphicon glyphicon-ok form-control-feedback\"></i>');\r\n }\r\n }\r\n });\r\n $.validator.addMethod(\"emailAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsEmailAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"Email address already in use\");\r\n $.validator.addMethod(\"usernameAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsUsernameAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"User name not available\");\r\n $.validator.addMethod(\"mobileAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsMobileAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"That Mobile number is already in use\");\r\n $.validator.addMethod(\"emailAvailable\", function (value, element) {\r\n var checkUrl = \"/api/Users/IsEmailAvailable\";\r\n return $.validator.methods[\"remote\"].call(this, value, element, { url: checkUrl });\r\n }, \"Email address already in use\");\r\n $.validator.addMethod(\"mcdUsername\", function (value, element) {\r\n var re = new RegExp(/^[A-Za-z0-9_@\\.\\-]{5,}$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid username.\");\r\n $.validator.addMethod(\"ausPhone\", function (value, element) {\r\n var re = new RegExp(/^04\\d{8}\\s*$|^(04\\d{2}\\s\\d{3}\\s\\d{3})\\s*$|^(\\d{2}\\s*\\d{4}\\s*\\d{4})\\s*$|^(\\(*\\d{2}\\)\\s*\\d{4}\\s*\\d{4})\\s*$|^13(\\s*\\d{2}){2,3}$|^(1300|1800)\\s*\\d{3}\\s*\\d{3}\\s*$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid Australian phone number.\");\r\n $.validator.addMethod(\"ausMobile\", function (value, element) {\r\n var trimmedValue = value.replace(/[^\\d\\+]/gi, '');\r\n var re = new RegExp(/^\\({0,1}((0|\\+61)(4)){0,1}\\){0,1}(\\ |-){0,1}[0-9]{2}(\\ |-){0,1}[0-9]{2}(\\ |-){0,1}[0-9]{1}(\\ |-){0,1}[0-9]{3}$/);\r\n return this.optional(element) || trimmedValue.match(re);\r\n }, \"Please enter a valid Australian mobile number.\");\r\n $.validator.addMethod(\"ausDate\", function (value) {\r\n return Date.parseExact(value, \"d/M/yyyy\");\r\n }, \"Please enter a value date. eg. d/M/yyyy\");\r\n $.validator.addMethod(\"regex\", function (value, element, regexp) {\r\n var re = new RegExp(regexp);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please check your input.\");\r\n $.validator.addMethod(\"simpleUrl\", function (value, element) {\r\n // Customised version of the url test to make the prefix optional\r\n return this.optional(element) || /^((https?|ftp):\\/\\/)?(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.test(value);\r\n }, \"Please enter a valid URL.\");\r\n $.validator.addMethod(\"mcdEmail\", function (value, element) {\r\n var re = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\r\n return this.optional(element) || value.match(re);\r\n }, \"Please enter a valid email address.\");\r\n $(\".ausMobile\").on(\"blur\", function () {\r\n var mobileRe = new RegExp(/^04\\d{8}$/);\r\n var trimValue = $(this).val();\r\n trimValue = trimValue.replace(/[^\\d\\+]/gi, '');\r\n if (trimValue.startsWith(\"+61\")) {\r\n trimValue = trimValue.replace(\"+61\", \"0\");\r\n }\r\n if (trimValue.match(mobileRe)) {\r\n var newValue = trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 3) + \" \" + trimValue.substr(7, 3);\r\n $(this).val(newValue);\r\n }\r\n });\r\n }\r\n PageSetup.InitValidation = InitValidation;\r\n function InitTooltips() {\r\n // Create tooltips\r\n $('[data-toggle=\"tooltip\"]').each(function () {\r\n $(this).tooltip({\r\n trigger: \"hover focus\"\r\n });\r\n $(this).on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n });\r\n });\r\n }\r\n PageSetup.InitTooltips = InitTooltips;\r\n function InitSearchButton(locationId, locationName) {\r\n if (locationId === void 0) { locationId = 0; }\r\n if (locationName === void 0) { locationName = \"\"; }\r\n $(\"#hfLocationId\").val(locationId);\r\n if (document.getElementById('autocomplete-location-new')) {\r\n McdMaps.setDefaultLocation(false, true);\r\n McdMaps.getResults('#autocomplete-location-new');\r\n }\r\n $(\"#btn-search\").off('click touchend');\r\n $(\"#btn-search\").on('click touchend', function (e) {\r\n var _a;\r\n e.preventDefault();\r\n var organisationId = $(\"#hfOrganisationId\").val() || 0;\r\n var outletId = $(\"#hfOutletId\").val() || 0;\r\n var osrId = $(\"#hfOSRId\").val() || 0;\r\n var categoryGroupId = $(\"#hfCategoryGroupId\").val() || 0;\r\n var categoryId = $(\"#hfCategoryId\").val() || 0;\r\n var locationId = $(\"#hfLocationId\").val() || 0;\r\n var rad = $(\".ddl-radius\").val() || 50;\r\n // For tags, show the selected keyword (if relevant) in the search box, but feed through the\r\n // actual tag name into the search\r\n var txt = $(\"#hfTagName\").val() || $('#autocomplete-category').val();\r\n var where = (_a = $('#autocomplete-location-new').val()) !== null && _a !== void 0 ? _a : \"\";\r\n var councilId = $(\"#hfCouncilId\").val() || 0;\r\n var state = $(\"#State_Code\").val() || '';\r\n var shiftCategoryId = $(\"#hfShiftCategoryId\").val() || 0;\r\n if ($('#autocomplete-location-new').val() == \"\") {\r\n state = \"\";\r\n }\r\n var url;\r\n if (organisationId > 0 || outletId > 0 || osrId > 0) {\r\n var id;\r\n var criteria;\r\n if (organisationId > 0) {\r\n id = organisationId;\r\n criteria = \"isOrganisation\";\r\n }\r\n else if (outletId > 0) {\r\n id = outletId;\r\n criteria = \"isLocation\";\r\n }\r\n else {\r\n id = osrId;\r\n criteria = \"isListing\";\r\n }\r\n url = \"/Search/Redirect?id=\" + id +\r\n \"&\" + criteria + \"=true\" +\r\n (locationId > 0 ? \"&locationId=\" + locationId : \"\") +\r\n (councilId > 0 ? \"&councilRegionId=\" + councilId : \"\");\r\n }\r\n else {\r\n var queryString = window.location.search;\r\n var urlParams = new URLSearchParams(queryString);\r\n var isFromTile = urlParams.get('isFromTile');\r\n if (isFromTile)\r\n where = where.split(\" \")[0];\r\n url = \"/Search/Directory?what=\" + encodeURIComponent(txt) +\r\n \"&where=\" + encodeURIComponent(where) +\r\n \"&service=\" + categoryId +\r\n \"&category=\" + categoryGroupId +\r\n (locationId > 0 ? \"&location=\" + locationId : \"\") +\r\n \"&radius=\" + rad +\r\n \"&council=\" + councilId +\r\n \"&state=\" + state +\r\n \"&shiftCategory=\" + shiftCategoryId;\r\n if (isFromTile) {\r\n url = url + \"&isFromTile=\" + isFromTile;\r\n }\r\n }\r\n if (typeof userSearchModel !== 'undefined') {\r\n saveUserSearch(userSearchModel);\r\n }\r\n if (!isFromTile) {\r\n Common.RequestLocation(url, \"&location=\", \"&where=\", locationId, where);\r\n }\r\n else {\r\n window.location.href = url;\r\n }\r\n });\r\n function saveUserSearch(userSearch) {\r\n if (!userSearch) {\r\n console.error(\"Invalid user search data provided.\");\r\n return; // Exit the function if userSearch is null or undefined\r\n }\r\n $.ajax({\r\n url: \"/StoreSearchedModelInSession\",\r\n type: \"POST\",\r\n contentType: \"application/json\",\r\n dataType: \"json\",\r\n data: JSON.stringify(userSearch),\r\n error: function (result) {\r\n // Display a general error message to the user\r\n alert(\"Sorry, there was a problem processing your request. Please try again later.\");\r\n console.error(\"AJAX error in request: \" + result.responseText);\r\n },\r\n success: function (result) {\r\n },\r\n });\r\n }\r\n $(document).ready(function () {\r\n $('#autocomplete-category').keypress(function (e) {\r\n if (e.keyCode == 13) {\r\n $('#btn-search').click();\r\n }\r\n });\r\n });\r\n $(\".advanced-search-btn\").off('click touchend');\r\n $(\".advanced-search-btn\").on('click touchend', function (e) {\r\n e.preventDefault();\r\n var councilId = $(\"#hfCouncilId\").val() || 0;\r\n var state = $(\"#State_Code\").val() || \"\";\r\n var tempUrl = '/Search/Advanced' + location.search;\r\n if (councilId > 0) {\r\n if (tempUrl.indexOf('?') < 0) {\r\n tempUrl += '?council=' + councilId;\r\n }\r\n else {\r\n tempUrl += '&council=' + councilId;\r\n }\r\n }\r\n if (state !== '') {\r\n if (tempUrl.indexOf('?') < 0) {\r\n tempUrl += '?state=' + state;\r\n }\r\n else {\r\n tempUrl += '&state=' + state;\r\n }\r\n }\r\n window.location.href = tempUrl;\r\n });\r\n }\r\n PageSetup.InitSearchButton = InitSearchButton;\r\n function IsValidPassword(password) {\r\n return isValidPassword(password);\r\n }\r\n PageSetup.IsValidPassword = IsValidPassword;\r\n function InitNavigation() {\r\n // Bind toggle events for navigation pullouts\r\n $(\".menu-button\").on(\"click touchend\", function () {\r\n $(\".wrapper:eq(0)\").toggleClass(\"reveal-right\");\r\n document.activeElement.blur();\r\n if ($(\"#m_google_translate_element\").is(\":visible\")) {\r\n if ($(\".wrapper\").hasClass(\"reveal-right\")) {\r\n $(\"#google_translate_element\").appendTo($(\"#m_google_translate_element\"));\r\n }\r\n else {\r\n $(\"#google_translate_element\").appendTo($(\"#googleTrans\"));\r\n }\r\n }\r\n return false;\r\n });\r\n // Close the navigation pullouts under certain conditions\r\n // Track when the touch move event is detected\r\n var touchMoved = false;\r\n $(document).on(\"touchmove\", function () {\r\n touchMoved = true;\r\n });\r\n $(document).on(\"click touchend\", function (e) {\r\n // If the touchend event is detected, but the touchmoved flag is true, then don't try to close the menus\r\n // This is to allow users to scroll down the browser in order to navigate a long menu, without it unexpectedly closing the menu\r\n if (e.type == \"touchend\" && touchMoved)\r\n return;\r\n // Close by default\r\n var closePullouts = true;\r\n // Except when a touch or click is detected in the nav panels\r\n if ($(e.target).hasClass(\"mobile-menu\") || $(e.target).parents(\".mobile-menu\").length > 0)\r\n closePullouts = false;\r\n if (closePullouts) {\r\n $(\".wrapper\").removeClass(\"reveal-right\");\r\n if ($(\"#m_google_translate_element\").is(\":visible\")) {\r\n $(\"#google_translate_element\").appendTo($(\"#googleTrans\"));\r\n }\r\n }\r\n });\r\n }\r\n PageSetup.InitNavigation = InitNavigation;\r\n function GeolocateCouncil() {\r\n if (window.navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(findCouncilandLocation, function (posError) {\r\n handleNoGeolocation(\"We were unable to get your location from your browser for the following reason: <i>\" + posError.message + \"</i>\");\r\n });\r\n }\r\n else {\r\n handleNoGeolocation(\"Your browser was unable to provide us with your location details.\");\r\n }\r\n }\r\n PageSetup.GeolocateCouncil = GeolocateCouncil;\r\n function InitSliders() {\r\n // Initialise any sliders with the 'slickify' class using its defined settings\r\n $('.slickify').each(function () {\r\n $(this).not('.slick-initialized').slick({\r\n slidesToShow: $(this).attr(\"data-slick-slidesToShow\"),\r\n slide: $(this).attr(\"data-slick-slideElement\")\r\n });\r\n });\r\n }\r\n PageSetup.InitSliders = InitSliders;\r\n function InitPullout() {\r\n // Behaviour for the search panel pullout\r\n $(\".pullout-button\").on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n $(this).next(\".pullout-content\").toggleClass(\"pullout-content-shown\");\r\n $(this).toggleClass(\"pullout-button-active\");\r\n var shown = $(this).next(\".pullout-content\").is(\".pullout-content-shown\");\r\n $(this).next(\".pullout-content\").attr(\"tabindex\", shown ? \"0\" : \"-1\");\r\n $(\"#btnSupportModal\").attr(\"tabindex\", shown ? \"0\" : \"-1\");\r\n });\r\n $(\".btn-support-modal\").off(\"click touchend\").on(\"click touched\", function () {\r\n $(\"#website-help .pullout-content\").removeClass(\"pullout-content-shown\");\r\n $(\"#website-help .pullout-button\").removeClass(\"pullout-button-active\");\r\n });\r\n }\r\n PageSetup.InitPullout = InitPullout;\r\n function InitTextSizeChange() {\r\n $(\".text-larger\").on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n var increment = 10;\r\n ChangeTextSize(increment);\r\n });\r\n $(\".text-smaller\").on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n var increment = -10;\r\n ChangeTextSize(increment);\r\n });\r\n $(\".textSizeIndicator\").on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n ResetTextSize();\r\n }).on(\"mouseover\", function (e) {\r\n e.preventDefault();\r\n $(\".textSizeIndicator\").text('Reset');\r\n }).on(\"mouseout\", function (e) {\r\n e.preventDefault();\r\n if (textSize === 0)\r\n textSize = 100;\r\n $(\".textSizeIndicator\").text(textSize + '%');\r\n });\r\n if (typeof (Storage) !== \"undefined\") {\r\n // Check for previous changes to text size\r\n var incrementCount = parseInt(localStorage.getItem(\"incrementCount\")) || 0;\r\n var i = 0;\r\n if (incrementCount > 0) {\r\n // Increase font size until it matches previous setting\r\n for (i = 0; i < incrementCount; i++) {\r\n ChangeTextSize(10);\r\n }\r\n }\r\n else if (incrementCount < 0) {\r\n // Decrease font size until it matches previous setting\r\n for (i = 0; i > incrementCount; i--) {\r\n ChangeTextSize(-10);\r\n }\r\n }\r\n }\r\n }\r\n PageSetup.InitTextSizeChange = InitTextSizeChange;\r\n function ResetTextSize() {\r\n if (typeof (Storage) !== \"undefined\") {\r\n localStorage.setItem(\"incrementCount\", \"0\");\r\n }\r\n textSize = 100;\r\n ChangeTextSize(0);\r\n }\r\n PageSetup.ResetTextSize = ResetTextSize;\r\n function SaveTextSize(size) {\r\n if (typeof (Storage) !== \"undefined\") {\r\n localStorage.setItem(\"incrementCount\", (parseInt(size) || 0).toString());\r\n }\r\n }\r\n PageSetup.SaveTextSize = SaveTextSize;\r\n function ChangeTextSize(increment) {\r\n textSize = textSize === 0 ? (100 + increment) : (textSize + increment);\r\n SaveTextSize(((textSize - 100) / 10).toString());\r\n $(\".section, .pullout-content\").each(function () {\r\n $(this).css({ \"font-size\": textSize + \"%\" });\r\n });\r\n $(\".textSizeIndicator\").text(textSize + '%');\r\n }\r\n PageSetup.ChangeTextSize = ChangeTextSize;\r\n function ObfuscateEmails() {\r\n var elementsToObfuscate = $(\".email-obfuscate\");\r\n elementsToObfuscate.each(function () {\r\n var emailStart = $(this).data(\"email-start\");\r\n var emailAt = $(this).data(\"email-at\");\r\n var setText = Boolean($(this).data(\"set-text\"));\r\n $(this).attr(\"href\", \"mailto:\" + emailStart + \"@\" + emailAt);\r\n if (setText)\r\n $(this).text(emailStart + \"@\" + emailAt);\r\n });\r\n }\r\n PageSetup.ObfuscateEmails = ObfuscateEmails;\r\n function InitMap() {\r\n $(\".view-toggles .btn-map\").on('click touchend', function () {\r\n ShowCategoriesMap();\r\n });\r\n function ShowCategoriesMap() {\r\n var mapContainer = $(\"#search-map\");\r\n // Check that the map isn't already initialised\r\n if (mapContainer.length !== 0 && !mapContainer[0].firstChild) {\r\n var location = new google.maps.LatLng(-27.4679, 153.0278);\r\n var MY_MAPTYPE_ID = 'custom_style';\r\n var mapOptions = {\r\n zoom: 12,\r\n center: location,\r\n mapTypeControlOptions: {\r\n mapTypeIds: [google.maps.MapTypeId.ROADMAP, MY_MAPTYPE_ID]\r\n },\r\n MapTypeId: MY_MAPTYPE_ID\r\n };\r\n window.MapView = new google.maps.Map(mapContainer[0], mapOptions);\r\n var styledMapOptions = { name: 'Custom Style' };\r\n var customMapType = new google.maps.StyledMapType(Common.Map.GetStandardMapStyle(), styledMapOptions);\r\n window.MapView.mapTypes.set(MY_MAPTYPE_ID, customMapType);\r\n }\r\n else {\r\n // If the map has already been loaded, trigger a resize event so that the map loads correctly.\r\n // This prevents a bug which caused the map to load incorrectly after the map had loaded then the browser size is changed.\r\n google.maps.event.trigger(window.MapView, 'resize');\r\n }\r\n }\r\n }\r\n PageSetup.InitMap = InitMap;\r\n function InitAutoComplete() {\r\n // This is an example of how the autocomplete functionality could be acheived using an external json file.\r\n // For documentation on other methods, see this page: http://twitter.github.io/typeahead.js/examples/\r\n var q = \"\";\r\n var categories = new Bloodhound({\r\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Name'),\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n remote: {\r\n url: '/api/search/Services',\r\n replace: function (url, query) {\r\n q = query;\r\n // Change the url target url so it triggers\r\n url = url + '#' + encodeURIComponent(q);\r\n return url;\r\n },\r\n ajax: {\r\n beforeSend: function (query, settings) {\r\n settings.data = JSON.stringify({ SearchTerm: q });\r\n },\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n type: 'POST'\r\n }\r\n }\r\n });\r\n var shiftCategories = new Bloodhound({\r\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Name'),\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n limit: 5,\r\n remote: {\r\n url: '/api/search/ShiftServices',\r\n replace: function (url, query) {\r\n q = query;\r\n // Change the url target url so it triggers\r\n url = url + '#' + encodeURIComponent(q);\r\n return url;\r\n },\r\n ajax: {\r\n beforeSend: function (query, settings) {\r\n settings.data = JSON.stringify({ SearchTerm: q });\r\n },\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n type: 'POST'\r\n }\r\n }\r\n });\r\n var tags = new Bloodhound({\r\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('DisplayText'),\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n remote: {\r\n url: '/api/search/tags',\r\n replace: function (url, query) {\r\n q = query;\r\n // Change the url target url so it triggers\r\n url = url + '#' + encodeURIComponent(q);\r\n return url;\r\n },\r\n ajax: {\r\n beforeSend: function (ev, settings) {\r\n settings.data = JSON.stringify(q);\r\n },\r\n dataType: \"json\",\r\n contentType: 'application/json; charset=utf-8',\r\n type: 'POST'\r\n }\r\n }\r\n });\r\n var orgs = new Bloodhound({\r\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('DisplayText'),\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n remote: {\r\n url: '/api/search/organisations',\r\n replace: function (url, query) {\r\n q = query;\r\n // Change the url target url so it triggers\r\n url = url + '#' + encodeURIComponent(q);\r\n return url;\r\n },\r\n ajax: {\r\n beforeSend: function (ev, settings) {\r\n settings.data = JSON.stringify({ SearchTerm: q, CouncilRegionId: $(\"#hfCouncilId\").val() || null, State: $(\"#State_Code\").val() || null });\r\n },\r\n dataType: \"json\",\r\n contentType: 'application/json; charset=utf-8',\r\n type: 'POST'\r\n }\r\n }\r\n });\r\n //var locations = McdMaps.getResults(\"#autocomplete-location-new\");\r\n //var locations = null;\r\n var councils = new Bloodhound({\r\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('DisplayName'),\r\n queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n limit: 10,\r\n remote: {\r\n url: '/api/search/councils',\r\n ajax: {\r\n beforeSend: function () { showSpinner('#autocomplete-council, #autocomplete-council-mobile'); },\r\n complete: function () { removeSpinner('#autocomplete-council, #autocomplete-council-mobile'); }\r\n },\r\n replace: function (url, query) {\r\n // Trailing spaces can cause routing issues with GET requests so trim them\r\n return url + \"/\" + (query || \"\").trim();\r\n }\r\n }\r\n });\r\n // kicks off the loading/processing of `local` and `prefetch`\r\n categories.initialize();\r\n shiftCategories.initialize();\r\n //locations.initialize();\r\n councils.initialize();\r\n tags.initialize();\r\n orgs.initialize();\r\n // passing in `null` for the `options` arguments will result in the default\r\n // options being used\r\n $(\"#autocomplete-category\").typeahead({\r\n hint: true,\r\n minLength: 2,\r\n highlight: true\r\n }, {\r\n name: 'categories',\r\n displayKey: 'Name',\r\n source: categories.ttAdapter(),\r\n templates: {\r\n header: \"<div class='tt-suggestion-title'><h3 class='h6'>Categories</h3></div>\",\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.Name + \"</p>\";\r\n }\r\n }\r\n }, {\r\n name: 'shiftCategories',\r\n displayKey: 'Name',\r\n source: shiftCategories.ttAdapter(),\r\n templates: {\r\n header: \"<div class='tt-suggestion-title'><h3 class='h6'>Shift Categories</h3></div>\",\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.Name + \"</p>\";\r\n }\r\n }\r\n }, {\r\n name: \"tags\",\r\n displayKey: \"DisplayText\",\r\n source: tags.ttAdapter(),\r\n templates: {\r\n header: \"<div class='tt-suggestion-title'><h3 class='h6'>Tags</h3></div>\",\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.TagName + ((d.TagName != d.DisplayText) ? \" (<i>\" + d.DisplayText + \"</i>)\" : \"\") + \"</p>\";\r\n }\r\n }\r\n }, {\r\n name: \"organisations\",\r\n displayKey: \"DisplayText\",\r\n source: orgs.ttAdapter(),\r\n templates: {\r\n header: \"<div class='tt-suggestion-title'><h3 class='h6'>Locations</h3></div>\",\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.DisplayText + \"</p>\";\r\n }\r\n }\r\n });\r\n var currentBatchExecutions = 0;\r\n var maxBatchExecutions = 3;\r\n $(\"#autocomplete-category\")\r\n .on(\"typeahead:selected\", function (obj, datum) {\r\n if (typeof datum.CategoryGroupID !== \"undefined\") {\r\n $(\"#hfCategoryGroupId\").val(datum.CategoryGroupID);\r\n $(\"#hfCategoryId\").val(datum.CategoryID);\r\n $(\"#hfShiftCategoryId\").val(\"0\");\r\n }\r\n else if (typeof datum.TagName !== \"undefined\") {\r\n $(\"#hfTagName\").val(datum.TagName);\r\n $(\"#hfShiftCategoryId\").val(\"0\");\r\n }\r\n else if (typeof datum.IsOrganisation !== \"undefined\") {\r\n $(datum.IsOrganisation ? \"#hfOrganisationId\" : datum.IsLocation ? \"#hfOutletId\" : \"#hfOSRId\").val(datum.ID);\r\n $(\"#hfShiftCategoryId\").val(\"0\");\r\n }\r\n else if (typeof datum.ShiftCategoryID !== \"undefined\") {\r\n $(\"#hfShiftCategoryId\").val(datum.ShiftCategoryID);\r\n }\r\n }).on(\"typeahead:autocompleted\", function (obj, datum) {\r\n if (typeof datum.CategoryGroupID !== \"undefined\") {\r\n $(\"#hfCategoryGroupId\").val(datum.CategoryGroupID);\r\n $(\"#hfCategoryId\").val(datum.CategoryID);\r\n }\r\n else if (typeof datum.TagName !== \"undefined\") {\r\n $(\"#hfTagName\").val(datum.TagName);\r\n }\r\n else if (typeof datum.IsOrganisation !== \"undefined\") {\r\n $(datum.IsOrganisation ? \"#hfOrganisationId\" : datum.IsLocation ? \"#hfOutletId\" : \"#hfOSRId\").val(datum.ID);\r\n }\r\n else if (typeof datum.ShiftCategoryID !== \"undefined\") {\r\n $(\"#hfShiftCategoryId\").val(datum.ShiftCategoryID);\r\n }\r\n }).on(\"typeahead:startupdate\", function () {\r\n currentBatchExecutions = 0;\r\n showSpinner(\"#autocomplete-category\");\r\n $(\"#hfCategoryGroupId\").val(\"0\");\r\n $(\"#hfCategoryId\").val(\"0\");\r\n $(\"#hfOrganisationId\").val(\"0\");\r\n $(\"#hfOutletId\").val(\"0\");\r\n $(\"#hfOSRId\").val(\"0\");\r\n $(\"#hfTagName\").val(\"\");\r\n $(\"#hfShiftCategoryId\").val(\"0\");\r\n }).on(\"typeahead:datasetupdated\", function () {\r\n if (++currentBatchExecutions >= maxBatchExecutions) {\r\n removeSpinner(\"#autocomplete-category\");\r\n }\r\n });\r\n // Locations\r\n //locationTypeahead(\".location-filter\", locations);\r\n //locationTypeahead(\"#location-request\", locations);\r\n // Councils\r\n $('#autocomplete-council, #autocomplete-council-mobile').typeahead({\r\n hint: true,\r\n minLength: 2,\r\n highlight: true\r\n }, {\r\n name: 'councils',\r\n displayKey: 'DisplayName',\r\n source: councils.ttAdapter(),\r\n templates: {\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.DisplayName + \"</p>\";\r\n }\r\n }\r\n });\r\n $('#autocomplete-council, #autocomplete-council-mobile').on('typeahead:selected', function (obj, datum, name) {\r\n resetSessionAdsressModel();\r\n window.location.href = datum.Url;\r\n });\r\n // Search On Press Enter\r\n $(\".on-enter\").on(\"keypress\", function (e) {\r\n if (e.which === 13) {\r\n var clickTarget = $(this).data(\"click-target\") || \"btn-search\";\r\n $(\"#\" + clickTarget).click();\r\n }\r\n });\r\n }\r\n PageSetup.InitAutoComplete = InitAutoComplete;\r\n function resetSessionAdsressModel() {\r\n $.ajax({\r\n url: \"/StoreSearchedModelInSession\",\r\n type: \"POST\",\r\n contentType: \"application/json\",\r\n dataType: \"json\",\r\n data: null,\r\n error: function (result) {\r\n //console.log(\"fail: \", result);\r\n },\r\n success: function (result) {\r\n //console.log(\"victory\")\r\n },\r\n });\r\n }\r\n function locationTypeahead(fieldName, locations) {\r\n $(fieldName).typeahead({\r\n hint: true,\r\n minLength: 2,\r\n highlight: true\r\n }, {\r\n name: \"locations\",\r\n displayKey: \"Name\",\r\n source: locations.ttAdapter(),\r\n templates: {\r\n suggestion: function (d) {\r\n return \"<p class='needsclick'>\" + d.Name + \"</p>\";\r\n }\r\n }\r\n });\r\n $(fieldName)\r\n .on(\"typeahead:selected\", function (obj, datum) {\r\n $(\".locality-id\", $(this).closest(\".twitter-typeahead\").parent()).val(datum.LocalityID);\r\n }).on(\"typeahead:autocompleted\", function (obj, datum) {\r\n $(\".locality-id\", $(this).closest(\".twitter-typeahead\").parent()).val(datum.LocalityID);\r\n }).on(\"typeahead:asyncrequest\", function () {\r\n $(\".locality-id\", $(this).closest(\".twitter-typeahead\").parent()).val(0);\r\n $(this).addClass(\"spinner\");\r\n }).on(\"typeahead:startupdate\", function () {\r\n $(\".locality-id\", $(this).closest(\".twitter-typeahead\").parent()).val(0);\r\n $(this).addClass(\"spinner\");\r\n }).on(\"typeahead:datasetupdated\", function () {\r\n $(this).removeClass(\"spinner\");\r\n if (!$(this).val().length) {\r\n $(\".locality-id\", $(this).closest(\".twitter-typeahead\").parent()).val(0);\r\n }\r\n });\r\n }\r\n PageSetup.locationTypeahead = locationTypeahead;\r\n function InitCouncilSearch() {\r\n $(\".council-trail\").on(\"click\", \".regionfilter\", function () {\r\n $(\"#councilModal\").modal(\"show\");\r\n $(\"#autocomplete-council\").focus();\r\n });\r\n var hideSelector = getCookie(\"hide-council-selector\");\r\n $('#setCouncilHide').prop('checked', hideSelector !== 'true');\r\n $(\"#setCouncilHide\").on(\"click\", function () {\r\n setCookie(\"hide-council-selector\", !$(\"#setCouncilHide\").is(\":checked\"), 365);\r\n });\r\n $(\"#locateMe\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n //PageSetup.GeolocateCouncil();\r\n $(\"#councilModal\").modal('hide');\r\n });\r\n $(\"#locateMee\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n //PageSetup.GeolocateCouncil();\r\n $(\"#councilModal\").modal('hide');\r\n });\r\n $(\"#getMyCouncil\").on(\"click\", function (e) {\r\n navigator.geolocation.getCurrentPosition(findCouncilLocation, function (posError) {\r\n handleNoGeolocation(\"We were unable to get your location from your browser for the following reason: <i>\" + posError.message + \"</i>\");\r\n });\r\n });\r\n $(document).ready(function () {\r\n $('#autocomplete-category').keypress(function (e) {\r\n if (e.keyCode == 13)\r\n $('#getMyCouncil').click();\r\n });\r\n });\r\n }\r\n PageSetup.InitCouncilSearch = InitCouncilSearch;\r\n function SendMail(to, subject, body) {\r\n var email = { To: to, Subject: subject, Body: body };\r\n $.ajax({\r\n type: 'POST',\r\n url: \"/api/Email/Send\",\r\n data: JSON.stringify(email),\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n success: function (data) { alert(data); },\r\n error: function () { alert('Failed'); }\r\n });\r\n }\r\n PageSetup.SendMail = SendMail;\r\n function InitSearchResultsBehavior() {\r\n Common.SetupTooltipsStyling();\r\n $(\"a.phone\").each(function () {\r\n $(this).attr(\"href\", \"tel:\" + $(this).data(\"phone\")\r\n .replace(/ /g, \"\")\r\n .replace(/\\(/g, \"\")\r\n .replace(/\\)/g, \"\"));\r\n });\r\n }\r\n PageSetup.InitSearchResultsBehavior = InitSearchResultsBehavior;\r\n function InitSponsors(affiliateId, councilId, hideSponsors, isCommunityInfo, councilLogo, councilUrl) {\r\n if (!hideSponsors) {\r\n loadPlatformSponsors(affiliateId, councilId, isCommunityInfo, councilLogo, councilUrl);\r\n }\r\n }\r\n PageSetup.InitSponsors = InitSponsors;\r\n function SetCookie(cname, cvalue, exdays) {\r\n setCookie(cname, cvalue, exdays);\r\n }\r\n PageSetup.SetCookie = SetCookie;\r\n function GetCookie(cname) {\r\n return getCookie(cname);\r\n }\r\n PageSetup.GetCookie = GetCookie;\r\n function InitOneClick() {\r\n $(\".one-click\").closest('form').on('submit', function (e) {\r\n var $form = $(this);\r\n if ($form.data('submitted') === true) {\r\n // Previously submitted - don't submit again\r\n e.preventDefault();\r\n }\r\n else {\r\n // Mark it so that the next submit can be ignored\r\n $form.data('submitted', true);\r\n }\r\n });\r\n }\r\n PageSetup.InitOneClick = InitOneClick;\r\n})(PageSetup || (PageSetup = {}));\r\n"]}