{"version":3,"sources":["modules/Common.js"],"names":["Common","NotificationTypeEnum","NotificationKeyEnum","ItemStatus","FavouritesType","FeatureAddOnType","PanelContents","OutputTo","OutputAs","LookingForVolunteer","AdStatus","showBackgroundImage","current","next","window","BackgroundImages","length","$","css","ImageURL","template","render","$template","html","removeAttr","removeClass","addClass","BackgroundTimeout","setTimeout","DisplayTime","SetupTooltipsStyling","document","on","e","this","qtip","overwrite","content","attr","show","event","type","ready","position","my","at","style","classes","events","api","$el","elements","target","undefined","data","SetCurrentCouncil","council","CurrentCouncil","val","CouncilRegionID","StateUrl","SetCurrentLocality","locality","Council","LocalityID","LoadPromotions","not","slick","slidesToShow","slide","autoplay","LoadBackgroundImages","section","ownerType","ownerId","getJSON","preventDefault","clearTimeout","InitCategoryLinks","ExpandButton","$target","parent","expanded","is","collapse","hasClass","text","prev","find","each","trigger","which","itemsToShow","itemSelector","hiddenClass","counterToUpdate","hide","InitEmail","callback","click","focus","notifyDefaults","delay","allow_dismiss","newest_on_top","mouse_over","sending","notify","title","message","icon","icon_type","prop","email","timer","onClosed","ajax","url","JSON","stringify","headers","x-g-recaptcha-token","contentType","dataType","success","Success","close","Message","error","AddCommas","x","split","x1","x2","rgx","test","replace","SetupShareModal","modal","Gender","ShareAs","ShareFeature","ShareMethod","ShareSurveyMethod","$modal","$userBlock","$methodBlock","$contentBlock","$btnUserAdd","$searchInput","$peopleList","$userBlock_blockTitle_back","$userBlock_personInfo","$userBlock_personInfo_FirstName","$userBlock_personInfo_GivenNames","$userBlock_personInfo_Email","$userBlock_personInfo_Mobile","$userBlock_personInfo_Dob","$userBlock_personInfo_Gender","$methodItem_Email","$methodItem_SMS","$methodItem_PDF","$methodItem_InPerson","$contentTitle","$contentCategoryGroup","$contentMessage","$contentNonlisted","$contentNonlisted_Mobile","$contentNonlisted_Website","$contentTileShare_Tile","$contentFavoriteShare_ShareAs","$btnSubmit","EnableSMSShare","SendingSMS","EnableEmailShare","SendingEmail","EnablePDFPrint","SendingPDFPrint","EnableInPersonShare","SendingInPerson","_shareMethod","None","shareState","ShareFeatureType","People","SelectedRecipient","Content","Title","PageUrl","CategoryGroup","ShareAListing","ShareFavorites","FavoriteShare","FavoriteID","weblink","FavoriteName","ShareNonlisted","ID","Name","Nonlisted","Email","Mobile","Website","ShareATile","TileShare","Tile","IsFundedByEmploymentServices","IsFundedByMyAgedCare","IsFundedByNDIS","LinkageAssistanceLevel","Street","Suburb","Agree","QR","RecordCommunication","ShareANote","ShareQRCode","ShareSurvey","CategoryGroups","Tiles","_a","empty","location","href","TogglePersonInfoBlock","selectize","dropdownDirection","fn","datepicker","noConflict","format","endDate","autoclose","ev","selectedDate","date","formattedDate","moment","dateFormat","maxDate","onClose","AppSettings","ApiUrl","cache","res","_data","forEach","cat","catgrp","id","name","push","_b","addOption","value","err","_tile","tile","save_icons","AssignFieldValueToRecipient","$element","Hash","FirstName","GivenNames","getValue","DoB","toggleEditable","p","$e","_c","_d","_e","i","$parent","_toggle","$edit","$save_icon","_input","_genderSelect","disable","enable","isNew_Email","UpdateShareableMethods","isNew_Mobile","element","first","idx","slice","setValue","clear","func","wait","timeout","DebounceGetInfo","$input","remove","isValidMobile","isValidEmail","SMS","ProfileID","TimeStamp","Input","method","match","append","emailPart","mobilePart","isNew_FirstName","isNew_GivenNames","isNew_DoB","isNew_Gender","SetupAPersonItem","complete","_this","args","_i","arguments","apply","CheckValidMobileString","s","isNew","trim","mobileRegex","CheckValidEmailString","emailRegex","ignoreSending","AppendErrorMsg","div","_f","_g","request","Method","Recipient","messages","index","placement","from","align","_hasProtectedLink","payload","sender","OutletID","Number","RecieverInfo","LastName","DOB","_shareType","reciever","PersonID","Payload","SurveyID","ShareType","toString","Sender","Receiver","HasProtectedLink","DirectoryUrl","PDF","InPerson","changeFavoriteShare","model","loadConverters","disableRank","SetCookie","cookieName","cookieValue","expiryDays","expiryHours","expiryMinutes","expirySeconds","d","Date","setTime","getTime","expires","toUTCString","cookie","GetCookie","ca","c","charAt","substring","indexOf","SetLocationCookie","gotoLocation","Postcode","DisplayName","CouncilDisplayName","Url","CouncilURL","checkCouncilandProceed","Alert","destUrl","DestinationUrl","LocationUrlPrefix","WhereUrlPrefix","encodeURIComponent","Loaded","hidebanner","slideUp","RequestBrowserLocation","navigator","geolocation","getCurrentPosition","coords","latitude","longitude","setPanelContents","Located","console","log","enableHighAccuracy","typeahead","Previous","off","parseInt","SetupConverters","views","converters","tel","telValue","accessibleValue","substr","map","inner","DisableFilter","ReenableFilter","GetCouncil","saveCouncilCallback","RequestLocation","locationPrefix","wherePrefix","locationId","locationName","parts","parse","GetLocationCookie","obj","datum","okCallback","okLabel","hadAction","FormatAsAusPhone","field","state","re","RegExp","newValue","trimValue","mobileRe","short13Re","long13Re","long13Or1800Re","simpleNational","local"],"mappings":"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","file":"Common.min.js","sourcesContent":["var Common;\r\n(function (Common) {\r\n var NotificationTypeEnum;\r\n (function (NotificationTypeEnum) {\r\n NotificationTypeEnum[NotificationTypeEnum[\"Information\"] = 0] = \"Information\";\r\n NotificationTypeEnum[NotificationTypeEnum[\"Error\"] = 1] = \"Error\";\r\n NotificationTypeEnum[NotificationTypeEnum[\"Warning\"] = 2] = \"Warning\";\r\n NotificationTypeEnum[NotificationTypeEnum[\"Success\"] = 3] = \"Success\";\r\n })(NotificationTypeEnum = Common.NotificationTypeEnum || (Common.NotificationTypeEnum = {}));\r\n var NotificationKeyEnum;\r\n (function (NotificationKeyEnum) {\r\n NotificationKeyEnum[NotificationKeyEnum[\"User\"] = 0] = \"User\";\r\n NotificationKeyEnum[NotificationKeyEnum[\"Outlet\"] = 1] = \"Outlet\";\r\n NotificationKeyEnum[NotificationKeyEnum[\"Organisation\"] = 2] = \"Organisation\";\r\n })(NotificationKeyEnum = Common.NotificationKeyEnum || (Common.NotificationKeyEnum = {}));\r\n var ItemStatus;\r\n (function (ItemStatus) {\r\n ItemStatus[ItemStatus[\"Changed\"] = 0] = \"Changed\";\r\n ItemStatus[ItemStatus[\"Deleted\"] = 1] = \"Deleted\";\r\n ItemStatus[ItemStatus[\"None\"] = 2] = \"None\";\r\n ItemStatus[ItemStatus[\"Loading\"] = 3] = \"Loading\";\r\n })(ItemStatus = Common.ItemStatus || (Common.ItemStatus = {}));\r\n var FavouritesType;\r\n (function (FavouritesType) {\r\n FavouritesType[FavouritesType[\"List\"] = 0] = \"List\";\r\n FavouritesType[FavouritesType[\"Search\"] = 1] = \"Search\";\r\n })(FavouritesType = Common.FavouritesType || (Common.FavouritesType = {}));\r\n var FeatureAddOnType;\r\n (function (FeatureAddOnType) {\r\n FeatureAddOnType[FeatureAddOnType[\"None\"] = 0] = \"None\";\r\n FeatureAddOnType[FeatureAddOnType[\"ActiveSharing\"] = 1] = \"ActiveSharing\";\r\n FeatureAddOnType[FeatureAddOnType[\"LinkSocialSharing\"] = 2] = \"LinkSocialSharing\";\r\n })(FeatureAddOnType = Common.FeatureAddOnType || (Common.FeatureAddOnType = {}));\r\n var PanelContents;\r\n (function (PanelContents) {\r\n PanelContents[PanelContents[\"None\"] = 0] = \"None\";\r\n PanelContents[PanelContents[\"Previous\"] = 1] = \"Previous\";\r\n PanelContents[PanelContents[\"Located\"] = 2] = \"Located\";\r\n })(PanelContents || (PanelContents = {}));\r\n var OutputTo;\r\n (function (OutputTo) {\r\n OutputTo[OutputTo[\"Unknown\"] = 0] = \"Unknown\";\r\n OutputTo[OutputTo[\"MobileApp\"] = 1] = \"MobileApp\";\r\n OutputTo[OutputTo[\"Browser\"] = 2] = \"Browser\";\r\n OutputTo[OutputTo[\"Email\"] = 3] = \"Email\";\r\n OutputTo[OutputTo[\"SMS\"] = 4] = \"SMS\";\r\n })(OutputTo = Common.OutputTo || (Common.OutputTo = {}));\r\n var OutputAs;\r\n (function (OutputAs) {\r\n OutputAs[OutputAs[\"Unknown\"] = 0] = \"Unknown\";\r\n OutputAs[OutputAs[\"Link\"] = 1] = \"Link\";\r\n OutputAs[OutputAs[\"PDF\"] = 2] = \"PDF\";\r\n })(OutputAs = Common.OutputAs || (Common.OutputAs = {}));\r\n var LookingForVolunteer;\r\n (function (LookingForVolunteer) {\r\n LookingForVolunteer[LookingForVolunteer[\"No\"] = 0] = \"No\";\r\n LookingForVolunteer[LookingForVolunteer[\"Yes\"] = 1] = \"Yes\";\r\n LookingForVolunteer[LookingForVolunteer[\"Maybe\"] = 2] = \"Maybe\";\r\n })(LookingForVolunteer = Common.LookingForVolunteer || (Common.LookingForVolunteer = {}));\r\n var AdStatus;\r\n (function (AdStatus) {\r\n AdStatus[AdStatus[\"Pending\"] = 0] = \"Pending\";\r\n AdStatus[AdStatus[\"AwaitingApproval\"] = 1] = \"AwaitingApproval\";\r\n AdStatus[AdStatus[\"Published\"] = 2] = \"Published\";\r\n AdStatus[AdStatus[\"Rejected\"] = 3] = \"Rejected\";\r\n })(AdStatus = Common.AdStatus || (Common.AdStatus = {}));\r\n function SetCurrentCouncil(council) {\r\n window.CurrentCouncil = council;\r\n $(\"#hfCouncilId\").val(council.CouncilRegionID);\r\n var template = $(\"#councilTrailTemplate\").render(council);\r\n var $template = $(\"<div/>\").html(template);\r\n $(\".nofollow\", $template).removeAttr(\"rel\");\r\n template = $template.html();\r\n $(\".council-trail\").html(template);\r\n SetupTooltipsStyling();\r\n window.StateUrl = council.StateUrl;\r\n }\r\n Common.SetCurrentCouncil = SetCurrentCouncil;\r\n function SetCurrentLocality(locality) {\r\n window.CurrentCouncil = locality.Council;\r\n $(\"#hfCouncilId\").val(locality.CouncilRegionID);\r\n $(\"#hfLocationId\").val(locality.LocalityID);\r\n var template = $(\"#councilTrailTemplate\").render(locality);\r\n var $template = $(\"<div/>\").html(template);\r\n $(\".nofollow\", $template).removeAttr(\"rel\");\r\n template = $template.html();\r\n $(\".council-trail\").html(template);\r\n SetupTooltipsStyling();\r\n window.StateUrl = locality.Council.StateUrl;\r\n }\r\n Common.SetCurrentLocality = SetCurrentLocality;\r\n function LoadPromotions() {\r\n $(\"#lstPromos\").not('.slick-initialized').slick({\r\n slidesToShow: $(\"#lstPromos\").attr(\"data-slick-slidesToShow\"),\r\n slide: $(\"#lstPromos\").attr(\"data-slick-slideElement\"),\r\n autoplay: true\r\n });\r\n $(\"#lstCouncilPromos\").not('.slick-initialized').slick({\r\n slidesToShow: $(\"#lstCouncilPromos\").attr(\"data-slick-slidesToShow\"),\r\n slide: $(\"#lstCouncilPromos\").attr(\"data-slick-slideElement\"),\r\n autoplay: true\r\n });\r\n $(\"#lstCommunityPromos\").not('.slick-initialized').slick({\r\n slidesToShow: $(\"#lstCommunityPromos\").attr(\"data-slick-slidesToShow\"),\r\n slide: $(\"#lstCommunityPromos\").attr(\"data-slick-slideElement\"),\r\n autoplay: true\r\n });\r\n }\r\n Common.LoadPromotions = LoadPromotions;\r\n // ---- Background Images ----\r\n function LoadBackgroundImages() {\r\n var section = $('.council-search');\r\n if (section) {\r\n var current = section.data('images-start-no');\r\n var ownerType = section.data('images-ownertype');\r\n var ownerId = section.data(\"images-ownerid\");\r\n if (current && ownerType && ownerId) {\r\n $.getJSON(\"/api/images/backgrounds/\" + ownerType + \"/\" + ownerId, function (data) {\r\n if (data.length <= 1)\r\n return;\r\n window.BackgroundImages = data;\r\n setupBackgroundPager();\r\n window.BackgroundTimeout = window.setTimeout(showBackgroundImage, data[current].DisplayTime, current);\r\n });\r\n }\r\n }\r\n }\r\n Common.LoadBackgroundImages = LoadBackgroundImages;\r\n function setupBackgroundPager() {\r\n $(\".bg-pager-link\").on('click', function (e) {\r\n e.preventDefault();\r\n var next = $(this).data('image-index') - 1;\r\n if (window.BackgroundTimeout)\r\n clearTimeout(window.BackgroundTimeout);\r\n showBackgroundImage(next);\r\n });\r\n }\r\n function showBackgroundImage(current) {\r\n var next = current + 1;\r\n if (next >= window.BackgroundImages.length)\r\n next = 0;\r\n $('.council-search').css('background-image', 'url(' + window.BackgroundImages[next].ImageURL + ')');\r\n var template = $('#attributionTemplate').render(window.BackgroundImages[next]);\r\n var $template = $(\"<div/>\").html(template);\r\n $(\".nofollow\", $template).removeAttr(\"rel\");\r\n template = $template.html();\r\n $('.image-attribution').html(template);\r\n $(\".bg-pager-link\").removeClass('active');\r\n $(\".bg-pager-link[data-image-index='\" + next + \"']\").addClass('active');\r\n window.BackgroundTimeout = window.setTimeout(showBackgroundImage, window.BackgroundImages[next].DisplayTime, next);\r\n }\r\n // ---- End Background Images ----\r\n function InitCategoryLinks() {\r\n var ExpandButton = $(\".btn-expand-collapse\");\r\n // Extend bootstrap's collapse\r\n $('body').on('click.collapse-next.data-api', '[data-toggle=collapse-next]', function (e) {\r\n e.preventDefault();\r\n var $target = $(this).parent().next();\r\n var expanded = !$target.is(\".collapse.in\");\r\n if ($target.data('bs.collapse')) {\r\n // Collpase has initialised\r\n $target.collapse('toggle');\r\n }\r\n else {\r\n // Collapse needs initialising\r\n $target.collapse();\r\n }\r\n $(this).attr(\"aria-expanded\", expanded ? \"true\" : \"false\");\r\n });\r\n // Whenever a link expands, the 'Expand all' should now show 'collapse all'\r\n $(\".category-link .link-list\").on(\"show.bs.collapse\", function () {\r\n if (ExpandButton.length) {\r\n if (!ExpandButton.hasClass(\"btn-collapse-all\")) {\r\n ExpandButton.addClass(\"btn-collapse-all\");\r\n ExpandButton.text(\"Close all categories\");\r\n ExpandButton.attr(\"aria-expanded\", \"true\");\r\n }\r\n }\r\n $(this).prev().find(\".category-expand\").addClass(\"category-expanded\");\r\n });\r\n // Whenever a link set finishes closing, check whether all other groups are closed as well\r\n $(\".category-link .link-list\").on(\"hidden.bs.collapse\", function () {\r\n if (ExpandButton.length) {\r\n if ($(\".link-list:visible\").length === 0) {\r\n // No more are visible, so update expand all button\r\n ExpandButton.removeClass(\"btn-collapse-all\");\r\n ExpandButton.text(\"Expand all categories\");\r\n ExpandButton.attr(\"aria-expanded\", \"false\");\r\n }\r\n }\r\n $(this).prev().find(\".category-expand\").removeClass(\"category-expanded\");\r\n });\r\n if (ExpandButton.length) {\r\n ExpandButton.on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n if ($(this).hasClass(\"btn-collapse-all\")) {\r\n // Collapse all relevant items\r\n $(\".link-list:visible\").each(function () {\r\n $(this).prev().find(\".category-expand\").trigger(\"click\");\r\n });\r\n $(this).text(\"Expand all categories\");\r\n $(this).removeClass('btn-collapse-all');\r\n }\r\n else {\r\n // Expand everything\r\n $(\".category-expand\").each(function () {\r\n $(this).trigger(\"click\");\r\n });\r\n }\r\n });\r\n ExpandButton.on(\"keypress\", function (e) {\r\n if (e.which === 13) {\r\n e.preventDefault();\r\n if ($(this).hasClass(\"btn-collapse-all\")) {\r\n // Collapse all relevant items\r\n $(\".link-list:visible\").each(function () {\r\n $(this).prev().find(\".category-expand\").trigger(\"click\");\r\n });\r\n }\r\n else {\r\n // Expand everything\r\n $(\".category-expand\").each(function () {\r\n $(this).trigger(\"click\");\r\n });\r\n }\r\n }\r\n });\r\n }\r\n $(\".btn-load-more\").on(\"click touchend\", function (e) {\r\n e.preventDefault();\r\n var itemsToShow = $(this).data(\"items-to-show\");\r\n var itemSelector = $(this).data(\"item-selector\");\r\n var hiddenClass = $(this).data(\"hidden-class\"); // The class used on the items to hide them from display\r\n var counterToUpdate = $($(this).data(\"counter-selector\")); // May or may not exist\r\n // Show the next x hidden items based on the attribute\r\n //console.log($(\".category-link:not(:visible)\").length);\r\n $(itemSelector + \".\" + hiddenClass + \":lt(\" + itemsToShow + \")\").removeClass(hiddenClass);\r\n // Update the counters\r\n if (counterToUpdate.length)\r\n counterToUpdate.text($(itemSelector + \":not(.\" + hiddenClass + \")\").length);\r\n // Hide the 'Load More' if it is no longer needed\r\n if ($(itemSelector + \".\" + hiddenClass).length === 0)\r\n $(this).hide();\r\n });\r\n }\r\n Common.InitCategoryLinks = InitCategoryLinks;\r\n function InitEmail(callback) {\r\n $(\"a[href='#contact-form']\").click(function (e) {\r\n e.preventDefault();\r\n $(\"#contact-form\").show();\r\n $(\"#txt-name\").focus();\r\n });\r\n $('#sendEmail').click(function (e) {\r\n e.preventDefault();\r\n $.notifyDefaults({\r\n delay: 0,\r\n allow_dismiss: false,\r\n newest_on_top: true,\r\n mouse_over: 'pause',\r\n template: '<div data-notify=\"container\" class=\"col-xs-11 col-sm-3 alert alert-{0}\" role=\"alert\">' +\r\n '<img data-notify=\"icon\">' +\r\n '<div class=\"content\"><span data-notify=\"title\">{1}</span>' +\r\n '<span data-notify=\"message\">{2}</span></div>' +\r\n '</div>'\r\n });\r\n var sending = $.notify({\r\n title: \"Sending ...\",\r\n message: \"Please wait while we rewrite your message on to our premium papyrus and load the carrier pidgeon. It will be sent soon ... \",\r\n icon: \"/_static/images/processing.gif\"\r\n }, { icon_type: 'image' });\r\n $(this).prop('disabled', true);\r\n var email = callback($(this));\r\n $.notifyDefaults({\r\n delay: 5000,\r\n timer: 500,\r\n allow_dismiss: true,\r\n newest_on_top: true,\r\n mouse_over: 'pause',\r\n onClosed: function () { $('#sendEmail').prop('disabled', false); },\r\n template: '<div data-notify=\"container\" class=\"col-xs-11 col-sm-3 alert alert-{0}\" role=\"alert\">' +\r\n '<button type=\"button\" aria-hidden=\"true\" class=\"close\" data-notify=\"dismiss\">×</button>' +\r\n '<span data-notify=\"icon\"></span>' +\r\n '<span data-notify=\"message\">{2}</span></div>' +\r\n '<div class=\"progress\" data-notify=\"progressbar\">' +\r\n '<div class=\"progress-bar progress-bar-{0}\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 0%;\"></div></div>' +\r\n '</div>'\r\n });\r\n $.ajax({\r\n type: 'POST',\r\n url: \"/api/Email/Send\",\r\n data: JSON.stringify(email),\r\n headers: { \"x-g-recaptcha-token\": $(\"#g-recaptcha-response\").val() },\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n success: function (data) {\r\n if (data.Success) {\r\n sending.close();\r\n $.notify({ title: \"Success\", message: \"Your message was successfully sent.\", icon: \"glyphicon glyphicon-ok-circle\" }, { type: \"success\" });\r\n $(\"#txt-name\").val('');\r\n $(\"#txt-email\").val('');\r\n $(\"#txt-phone\").val('');\r\n $(\"#txt-enquiry\").val('');\r\n $(\"#contact-form\").hide();\r\n }\r\n else {\r\n sending.close();\r\n $.notify({ title: \"Ooops\", message: \"We had the following error in trying to send your message: \" + data.Message, icon: \"glyphicon glyphicon-remove-circle\" }, { type: \"warning\" });\r\n }\r\n },\r\n error: function () {\r\n sending.close();\r\n $.notify({ title: \"Oh My\", message: \"There was an error trying to send your message.\", icon: \"glyphicon glyphicon-remove-circle\" }, { type: \"danger\" });\r\n }\r\n });\r\n });\r\n }\r\n Common.InitEmail = InitEmail;\r\n // Displays a number with commas separating the thousands\r\n function AddCommas(val) {\r\n var strVal = val + '';\r\n var x = strVal.split('.');\r\n var x1 = x[0];\r\n var x2 = x.length > 1 ? '.' + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\r\n }\r\n return x1 + x2;\r\n }\r\n Common.AddCommas = AddCommas;\r\n // TODO\r\n // + rename all vars that are using 'mobile' to 'phone'\r\n // \r\n // Usage: \r\n // 1. In a View (.cshtml), add the following line\r\n // @Html.Partial(\"_ShareTool\", new ShareFeatureModel(ShareFeatureType.ShareAListing)) <- select a type of Share Feature\r\n // 2. in a loaded pagescript for the same View, put this line where the page is being loaded/init\r\n // Common.SetupShareModal($('#ShareModal-ShareAListing')); <- select the modal by id(#) that is generated from the Partial\r\n function SetupShareModal(modal) {\r\n // ============================================================================\r\n var Gender;\r\n (function (Gender) {\r\n Gender[Gender[\"undefined\"] = 0] = \"undefined\";\r\n Gender[Gender[\"Male\"] = 1] = \"Male\";\r\n Gender[Gender[\"Female\"] = 2] = \"Female\";\r\n Gender[Gender[\"Other\"] = 3] = \"Other\";\r\n })(Gender || (Gender = {}));\r\n var ShareAs;\r\n (function (ShareAs) {\r\n ShareAs[ShareAs[\"mobileapp\"] = 0] = \"mobileapp\";\r\n ShareAs[ShareAs[\"weblink\"] = 1] = \"weblink\";\r\n ShareAs[ShareAs[\"pdf\"] = 2] = \"pdf\";\r\n })(ShareAs || (ShareAs = {}));\r\n var ShareFeature;\r\n (function (ShareFeature) {\r\n ShareFeature[ShareFeature[\"None\"] = 0] = \"None\";\r\n ShareFeature[ShareFeature[\"ShareAListing\"] = 1] = \"ShareAListing\";\r\n ShareFeature[ShareFeature[\"ShareNonlisted\"] = 2] = \"ShareNonlisted\";\r\n ShareFeature[ShareFeature[\"ShareATile\"] = 3] = \"ShareATile\";\r\n ShareFeature[ShareFeature[\"ShareANote\"] = 4] = \"ShareANote\";\r\n ShareFeature[ShareFeature[\"RecordCommunication\"] = 5] = \"RecordCommunication\";\r\n ShareFeature[ShareFeature[\"ShareFavorites\"] = 6] = \"ShareFavorites\";\r\n ShareFeature[ShareFeature[\"ShareQRCode\"] = 7] = \"ShareQRCode\";\r\n ShareFeature[ShareFeature[\"ShareSurvey\"] = 8] = \"ShareSurvey\";\r\n })(ShareFeature || (ShareFeature = {}));\r\n var ShareMethod;\r\n (function (ShareMethod) {\r\n ShareMethod[ShareMethod[\"None\"] = 0] = \"None\";\r\n ShareMethod[ShareMethod[\"Email\"] = 1] = \"Email\";\r\n ShareMethod[ShareMethod[\"SMS\"] = 2] = \"SMS\";\r\n ShareMethod[ShareMethod[\"PDF\"] = 3] = \"PDF\";\r\n ShareMethod[ShareMethod[\"InPerson\"] = 4] = \"InPerson\";\r\n })(ShareMethod || (ShareMethod = {}));\r\n var ShareSurveyMethod;\r\n (function (ShareSurveyMethod) {\r\n ShareSurveyMethod[\"Email\"] = \"Email\";\r\n ShareSurveyMethod[\"SMS\"] = \"SMS\";\r\n })(ShareSurveyMethod || (ShareSurveyMethod = {}));\r\n // ============================================================================\r\n var $modal = modal; // Select the modal in the current DOM by id(#), meaning only (first) one will be chosen\r\n // User Block\r\n var $userBlock = $modal.find('.user-block');\r\n var $methodBlock = $modal.find('.method-block');\r\n var $contentBlock = $modal.find('.info-block');\r\n var $btnUserAdd = $userBlock.find('.user-add');\r\n var $searchInput = $userBlock.find('.search-input');\r\n var $peopleList = $userBlock.find('.people');\r\n var $userBlock_blockTitle = $userBlock.find('.block-title');\r\n var $userBlock_blockTitle_back = $userBlock_blockTitle.find('.back');\r\n var $userBlock_personInfo = $userBlock.find('.person-info');\r\n var $userBlock_personInfo_FirstName = $userBlock_personInfo.find('input[name=\"fname\"]');\r\n var $userBlock_personInfo_GivenNames = $userBlock_personInfo.find('input[name=\"gname\"]');\r\n var $userBlock_personInfo_Email = $userBlock_personInfo.find('input[name=\"email\"]');\r\n var $userBlock_personInfo_Mobile = $userBlock_personInfo.find('input[name=\"mobile\"]');\r\n var $userBlock_personInfo_Dob = $userBlock_personInfo.find('input[name=\"dob\"]');\r\n var $userBlock_personInfo_Gender = $userBlock_personInfo.find('select[name=\"gender\"]');\r\n var $methodItem_Email = $methodBlock.find('#email');\r\n var $methodItem_SMS = $methodBlock.find('#sms');\r\n var $methodItem_PDF = $methodBlock.find('#pdf');\r\n var $methodItem_InPerson = $methodBlock.find('#inperson');\r\n var $contentTitle = $contentBlock.find('input[name=\"title\"]');\r\n var $contentCategoryGroup = $contentBlock.find('select[name=\"categorygroup\"]');\r\n var $contentMessage = $contentBlock.find('textarea[name=\"message\"]');\r\n var $contentNonlisted = $contentBlock.find('.nonlisted');\r\n var $contentNonlisted_Mobile = $contentNonlisted.find('[name=\"mobile\"]');\r\n //var $contentNonlisted_Email = $contentNonlisted.find('[name=\"email\"]');\r\n var $contentNonlisted_Website = $contentNonlisted.find('[name=\"website\"]');\r\n var $contentTileShare = $contentBlock.find('.tileshare');\r\n var $contentTileShare_Tile = $contentTileShare.find('[name=\"tile\"]');\r\n //var $contentTileShare_Street = $contentTileShare.find('[name=\"street\"]');\r\n //var $contentTileShare_Suburb = $contentTileShare.find('[name=\"suburb\"]');\r\n //var $contentTileShare_Funding = $contentTileShare.find('.funding');\r\n //var $contentTileShare_Funding_NDIS = $contentTileShare_Funding.find('[id=\"ndis\"]');\r\n //var $contentTileShare_Funding_MyAgedCare = $contentTileShare_Funding.find('[id=\"myagedcare\"]');\r\n //var $contentTileShare_Funding_NoFunding = $contentTileShare_Funding.find('[id=\"nofunding\"]');\r\n //var $contentTileShare_Funding_Assistance = $contentTileShare.find('.assistance-level').find('input[type=\"radio\"][name=\"assistance\"]');\r\n //var $contentTileShare_Agree = $contentBlock.find('.tileshare.tileshareagree').find('input');\r\n var $contentFavoriteShare_ShareAs = $contentBlock.find('select[name=\"shareas\"]');\r\n var $btnSubmit = $modal.find('button[type=\"submit\"]');\r\n // State\r\n var EnablePersonInfoBlock = true;\r\n var EnableInfoEditable = true;\r\n var EnableSMSShare = false;\r\n var SendingSMS = false;\r\n var EnableEmailShare = false;\r\n var SendingEmail = false;\r\n var EnablePDFPrint = false;\r\n var SendingPDFPrint = false;\r\n var EnableInPersonShare = false;\r\n var SendingInPerson = false;\r\n var _shareMethod = ShareMethod.None;\r\n var shareState = {\r\n ShareFeatureType: ShareFeature.None,\r\n People: [],\r\n SelectedRecipient: null,\r\n Content: {\r\n Title: '',\r\n Message: '',\r\n PageUrl: '',\r\n CategoryGroup: null,\r\n }\r\n };\r\n switch (ShareFeature[$modal.find('input[name=\"FeatureType\"]').val()]) {\r\n case ShareFeature.ShareAListing:\r\n shareState.ShareFeatureType = ShareFeature.ShareAListing;\r\n break;\r\n case ShareFeature.ShareFavorites: // This doesn't work for now\r\n shareState.ShareFeatureType = ShareFeature.ShareFavorites;\r\n shareState.Content.FavoriteShare = {\r\n FavoriteID: 0,\r\n ShareAs: ShareAs.weblink,\r\n FavoriteName: ''\r\n };\r\n break;\r\n case ShareFeature.ShareNonlisted:\r\n shareState.ShareFeatureType = ShareFeature.ShareNonlisted;\r\n shareState.Content.CategoryGroup = {\r\n ID: 0,\r\n Name: ''\r\n };\r\n shareState.Content.Nonlisted = {\r\n Email: '',\r\n Mobile: '',\r\n Website: '',\r\n };\r\n break;\r\n case ShareFeature.ShareATile:\r\n shareState.ShareFeatureType = ShareFeature.ShareATile;\r\n shareState.Content.TileShare = {\r\n Tile: {\r\n ID: 0,\r\n Name: ''\r\n },\r\n IsFundedByEmploymentServices: false,\r\n IsFundedByMyAgedCare: false,\r\n IsFundedByNDIS: false,\r\n LinkageAssistanceLevel: 'Low',\r\n Street: '',\r\n Suburb: '',\r\n Agree: true,\r\n QR: '',\r\n };\r\n break;\r\n case ShareFeature.RecordCommunication:\r\n shareState.ShareFeatureType = ShareFeature.RecordCommunication;\r\n break;\r\n case ShareFeature.ShareANote:\r\n shareState.ShareFeatureType = ShareFeature.ShareANote;\r\n shareState.Content.CategoryGroup = {\r\n ID: 0,\r\n Name: ''\r\n };\r\n break;\r\n case ShareFeature.ShareQRCode:\r\n shareState.ShareFeatureType = ShareFeature.ShareQRCode;\r\n shareState.Content.CategoryGroup = {\r\n ID: 0,\r\n Name: ''\r\n };\r\n break;\r\n case ShareFeature.ShareSurvey:\r\n shareState.ShareFeatureType = ShareFeature.ShareSurvey;\r\n break;\r\n default:\r\n shareState.ShareFeatureType = ShareFeature.None;\r\n break;\r\n }\r\n var CategoryGroups = [];\r\n var Tiles = [];\r\n //\r\n // Reset\r\n function EmptyCommonFields() {\r\n $contentTitle.val('');\r\n $contentMessage.val('');\r\n $contentNonlisted.val('');\r\n $contentNonlisted_Mobile.val('');\r\n //$contentNonlisted_Email .val('');\r\n $contentNonlisted_Website.val('');\r\n $contentTileShare_Tile.val('');\r\n //$contentTileShare_Street .val('');\r\n // Uncheck things too\r\n }\r\n function ResetNecessaryStates() {\r\n shareState.People = [];\r\n shareState.Content.Title = '';\r\n shareState.Content.Message = '';\r\n SendingSMS = false;\r\n SendingPDFPrint = false;\r\n SendingEmail = false;\r\n }\r\n $modal.on('show.bs.modal', function () {\r\n var _a;\r\n $modal.find('.err').hide();\r\n $modal.find('.err').empty();\r\n $peopleList.show();\r\n // these can only be assigned once the page is loaded\r\n if (shareState.ShareFeatureType == ShareFeature.ShareAListing) { // the title of this type must be the title of the current page\r\n shareState.Content.Title = document.title;\r\n $contentTitle.val(shareState.Content.Title);\r\n }\r\n shareState.Content.PageUrl = window.location.href;\r\n if (shareState.ShareFeatureType == ShareFeature.ShareQRCode) {\r\n shareState.Content.PageUrl = (_a = $(\"#copyButton\").attr('data-url')) !== null && _a !== void 0 ? _a : $('#currentQRCodePageLink').val();\r\n }\r\n if ($searchInput && $searchInput.length > 0) { // if is logged in\r\n $searchInput.find('input').val('');\r\n $userBlock.find('.err').hide();\r\n $userBlock.find('.err').empty();\r\n }\r\n else {\r\n if (!$userBlock_personInfo.is(':visible'))\r\n TogglePersonInfoBlock(EnablePersonInfoBlock, !EnableInfoEditable);\r\n }\r\n });\r\n $modal.on('hidden.bs.modal', function () {\r\n $userBlock_blockTitle_back.click();\r\n $peopleList.empty();\r\n $peopleList.hide();\r\n EmptyCommonFields();\r\n ResetNecessaryStates();\r\n });\r\n //\r\n // Closures\r\n function UpdateFavoriteShare(model) {\r\n if (shareState.Content.FavoriteShare && model) {\r\n shareState.Content.FavoriteShare.FavoriteID = model.FavoriteID;\r\n shareState.Content.FavoriteShare.FavoriteName = model.FavoriteName;\r\n shareState.Content.Title = shareState.Content.FavoriteShare.FavoriteName;\r\n $contentTitle.val(shareState.Content.Title);\r\n }\r\n }\r\n //\r\n $(document).ready(function () {\r\n $('.selection-input[name=\"gender\"]').selectize();\r\n $('.selection-input[name=\"categorygroup\"]').selectize({\r\n dropdownDirection: 'up' // trivial, doesn't work for now\r\n });\r\n $('.selection-input[name=\"tile\"]').selectize({\r\n dropdownDirection: 'up' // trivial, doesn't work for now\r\n });\r\n $('.selection-input[name=\"shareas\"]').selectize({\r\n dropdownDirection: 'up' // trivial, doesn't work for now\r\n });\r\n if ($.fn.datepicker.noConflict) {\r\n // This is bootstrap-datepicker\r\n $('.input-group.date').datepicker({\r\n format: 'dd.mm.yyyy',\r\n endDate: '0d',\r\n autoclose: true\r\n }).on('changeDate', function (ev) {\r\n var selectedDate = ev.date;\r\n var formattedDate = moment(selectedDate).format('DD.MM.YYYY');\r\n $('.input-group.date').val(formattedDate);\r\n });\r\n }\r\n else {\r\n // This is jQuery UI datepicker\r\n $('.input-group.date').datepicker({\r\n dateFormat: 'dd.mm.yy',\r\n maxDate: 0,\r\n onClose: function (selectedDate) {\r\n var formattedDate = moment(selectedDate, 'DD.MM.YYYY').format('DD.MM.YYYY');\r\n $('.input-group.date').val(formattedDate);\r\n }\r\n });\r\n }\r\n // Listen for click events on the modal backdrop\r\n $modal.on('click', function (event) {\r\n // If the clicked element is the modal's direct child (the backdrop)\r\n if ($(event.target).hasClass('modal')) {\r\n $(this).modal('hide'); // Close the modal\r\n }\r\n });\r\n if (shareState.ShareFeatureType == ShareFeature.RecordCommunication\r\n || shareState.ShareFeatureType == ShareFeature.ShareNonlisted\r\n || shareState.ShareFeatureType == ShareFeature.ShareANote) {\r\n $.ajax({\r\n type: \"GET\",\r\n url: window.AppSettings.ApiUrl + \"/api/v1/system/categorygroups\",\r\n cache: false,\r\n success: function (res) {\r\n if (res.success != true)\r\n return;\r\n var _data = res.data;\r\n if (_data == null || _data.length <= 0)\r\n return;\r\n _data.forEach(function (cat) {\r\n var catgrp = {\r\n ID: cat.id,\r\n Name: cat.name\r\n };\r\n CategoryGroups.push(catgrp);\r\n });\r\n CategoryGroups.forEach(function (e) {\r\n var _a, _b;\r\n (_b = (_a = $contentCategoryGroup[0]) === null || _a === void 0 ? void 0 : _a.selectize) === null || _b === void 0 ? void 0 : _b.addOption({\r\n value: e.ID,\r\n text: e.Name\r\n });\r\n });\r\n },\r\n error: function (err) {\r\n },\r\n });\r\n }\r\n if (shareState.ShareFeatureType == ShareFeature.ShareATile) {\r\n $.ajax({\r\n type: \"GET\",\r\n url: window.AppSettings.ApiUrl + \"/api/v1/share/GetShareableTiles\",\r\n cache: false,\r\n success: function (res) {\r\n if (res.success != true)\r\n return;\r\n var _data = res.data;\r\n if (_data == null || _data.length <= 0)\r\n return;\r\n _data.forEach(function (_tile) {\r\n var tile = {\r\n ID: _tile.ID,\r\n Name: _tile.Name\r\n };\r\n Tiles.push(tile);\r\n });\r\n Tiles.forEach(function (e) {\r\n var _a, _b;\r\n (_b = (_a = $contentTileShare_Tile[0]) === null || _a === void 0 ? void 0 : _a.selectize) === null || _b === void 0 ? void 0 : _b.addOption({\r\n value: e.ID,\r\n text: e.Name\r\n });\r\n });\r\n },\r\n error: function (err) {\r\n },\r\n });\r\n }\r\n });\r\n var save_icons = []; // might not need this anymore\r\n // Custom list storing save icons to toggle\r\n // [{ element: $save_icon_element, name: 'fname' }, { element: $save_icon_element, name: 'gname' }]\r\n function AssignFieldValueToRecipient($element) {\r\n var _a, _b;\r\n if (shareState.SelectedRecipient) {\r\n switch ($element.attr('name')) {\r\n case 'fname':\r\n if (shareState.SelectedRecipient.Hash && $element.val() != shareState.SelectedRecipient.FirstName) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.FirstName = $element.val();\r\n }\r\n break;\r\n case 'gname':\r\n if (shareState.SelectedRecipient.Hash && $element.val() != shareState.SelectedRecipient.GivenNames) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.GivenNames = $element.val();\r\n }\r\n break;\r\n case 'email':\r\n if (shareState.SelectedRecipient.Hash && $element.val() != shareState.SelectedRecipient.Email) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.Email = $element.val();\r\n }\r\n break;\r\n case 'mobile':\r\n if (shareState.SelectedRecipient.Hash && $element.val() != shareState.SelectedRecipient.Mobile) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.Mobile = $element.val();\r\n }\r\n break;\r\n case 'gender':\r\n if (shareState.SelectedRecipient.Hash && ((_a = $element[0].selectize) === null || _a === void 0 ? void 0 : _a.getValue()) != shareState.SelectedRecipient.Gender) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.Gender = (_b = $element[0].selectize) === null || _b === void 0 ? void 0 : _b.getValue();\r\n }\r\n break;\r\n case 'dob':\r\n if (shareState.SelectedRecipient.Hash && $element.val() != shareState.SelectedRecipient.DoB) {\r\n }\r\n else {\r\n shareState.SelectedRecipient.DoB = $element.val();\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n $userBlock_personInfo_FirstName.on('input change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n });\r\n $userBlock_personInfo_GivenNames.on('input change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n });\r\n $userBlock_personInfo_Dob.on('input change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n });\r\n $userBlock_personInfo_Gender.on('change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n });\r\n $userBlock_personInfo_Email.on('input', function () {\r\n AssignFieldValueToRecipient($(this));\r\n UpdateShareableMethods();\r\n });\r\n $userBlock_personInfo_Email.on('change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n UpdateShareableMethods();\r\n });\r\n $userBlock_personInfo_Mobile.on('input', function () {\r\n AssignFieldValueToRecipient($(this));\r\n UpdateShareableMethods(true);\r\n });\r\n $userBlock_personInfo_Mobile.on('change', function () {\r\n AssignFieldValueToRecipient($(this));\r\n UpdateShareableMethods(true);\r\n });\r\n $contentTitle.on('input change', function () {\r\n shareState.Content.Title = $(this).val();\r\n });\r\n $contentCategoryGroup.on('change', function () {\r\n if (shareState.Content.CategoryGroup) {\r\n shareState.Content.CategoryGroup.ID = $(this).val();\r\n shareState.Content.CategoryGroup.Name = $(this).text();\r\n }\r\n });\r\n $contentMessage.on('input change', function () {\r\n shareState.Content.Message = $(this).val();\r\n });\r\n function AssignPersonInfoToFields(p) {\r\n var _a, _b, _c, _d, _e;\r\n function getGenderName(value) {\r\n return Gender[value];\r\n }\r\n if (p) {\r\n $userBlock_personInfo_FirstName.val(p.FirstName);\r\n $userBlock_personInfo_GivenNames.val(p.GivenNames);\r\n $userBlock_personInfo_Email.val(p.Email);\r\n $userBlock_personInfo_Mobile.val(p.Mobile);\r\n $userBlock_personInfo_Dob.val((_a = p.DoB) === null || _a === void 0 ? void 0 : _a.slice(0, -5));\r\n (_c = (_b = $userBlock_personInfo_Gender[0]) === null || _b === void 0 ? void 0 : _b.selectize) === null || _c === void 0 ? void 0 : _c.setValue(getGenderName(p.Gender));\r\n }\r\n else {\r\n $userBlock_personInfo_FirstName.val('');\r\n $userBlock_personInfo_GivenNames.val('');\r\n $userBlock_personInfo_Email.val('');\r\n $userBlock_personInfo_Mobile.val('');\r\n $userBlock_personInfo_Dob.val('');\r\n (_e = (_d = $userBlock_personInfo_Gender[0]) === null || _d === void 0 ? void 0 : _d.selectize) === null || _e === void 0 ? void 0 : _e.clear();\r\n }\r\n }\r\n function TogglePersonInfoBlock(show, toggleEditable, p) {\r\n function ToggleEditable($parent, _toggle) {\r\n var _a;\r\n var $edit = $parent.find('.input-edit');\r\n var $save_icon = $parent.find('.input-save'); // this is already a (hidden) div in the view\r\n var _input = $parent.find('input');\r\n var _genderSelect = (_a = $parent.find('select[name=\"gender\"]')[0]) === null || _a === void 0 ? void 0 : _a.selectize;\r\n if (p) {\r\n _input.prop('disabled', true);\r\n if (_genderSelect) {\r\n _genderSelect.disable();\r\n }\r\n }\r\n else {\r\n _input.prop('disabled', false);\r\n if (_genderSelect) {\r\n _genderSelect.enable();\r\n }\r\n }\r\n $save_icon.hide();\r\n $edit.on('click', function () {\r\n _input.prop('disabled', false);\r\n if (_genderSelect) {\r\n _genderSelect.enable();\r\n }\r\n $edit.hide();\r\n if (toggleEditable) {\r\n if (_genderSelect) {\r\n _genderSelect.on('change', function () {\r\n shareState.SelectedRecipient.Gender = _genderSelect.getValue();\r\n });\r\n }\r\n else {\r\n _input.on('input', function () {\r\n switch ($(this).attr('name')) {\r\n case 'fname':\r\n shareState.SelectedRecipient.FirstName = $(this).val();\r\n break;\r\n case 'gname':\r\n shareState.SelectedRecipient.GivenNames = $(this).val();\r\n break;\r\n case 'email':\r\n shareState.SelectedRecipient.Email = $(this).val();\r\n shareState.SelectedRecipient.isNew_Email = true;\r\n UpdateShareableMethods();\r\n break;\r\n case 'mobile':\r\n shareState.SelectedRecipient.Mobile = $(this).val();\r\n shareState.SelectedRecipient.isNew_Mobile = true;\r\n UpdateShareableMethods();\r\n break;\r\n case 'dob':\r\n shareState.SelectedRecipient.DoB = $(this).val();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n _input.on('change', function () {\r\n switch ($(this).attr('name')) {\r\n case 'fname':\r\n shareState.SelectedRecipient.FirstName = $(this).val();\r\n break;\r\n case 'gname':\r\n shareState.SelectedRecipient.GivenNames = $(this).val();\r\n break;\r\n case 'email':\r\n shareState.SelectedRecipient.Email = $(this).val();\r\n shareState.SelectedRecipient.isNew_Email = true;\r\n UpdateShareableMethods(true);\r\n break;\r\n case 'mobile':\r\n shareState.SelectedRecipient.Mobile = $(this).val();\r\n shareState.SelectedRecipient.isNew_Mobile = true;\r\n UpdateShareableMethods(true);\r\n break;\r\n case 'dob':\r\n shareState.SelectedRecipient.DoB = $(this).val();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n if (save_icons.length < 6) { // 6 is fname, gname, email, mobile, gender, dob\r\n save_icons.push({ element: $save_icon, name: $parent.find('input, select').first().attr('name') });\r\n }\r\n if (_toggle) {\r\n $edit.show();\r\n }\r\n else {\r\n $edit.hide();\r\n }\r\n }\r\n function showElement($e) {\r\n $e.show();\r\n $e.css('opacity', '1');\r\n $e.css('height', 'auto');\r\n }\r\n function hideElement($e) {\r\n $e.hide();\r\n $e.css('opacity', '0');\r\n $e.css('height', '0');\r\n }\r\n if (show) {\r\n showElement($userBlock_personInfo);\r\n var labelledInputs = $userBlock_personInfo.find('.labelled-input');\r\n labelledInputs.each(function (i, e) {\r\n ToggleEditable($(e), toggleEditable);\r\n });\r\n if (p) {\r\n shareState.SelectedRecipient = p;\r\n }\r\n else {\r\n shareState.SelectedRecipient = {\r\n FirstName: '',\r\n GivenNames: '',\r\n Email: '',\r\n Mobile: '',\r\n Gender: Gender.undefined,\r\n DoB: '',\r\n idx: -1\r\n };\r\n }\r\n AssignPersonInfoToFields(shareState.SelectedRecipient);\r\n }\r\n else {\r\n shareState.SelectedRecipient = null; // refactor this so the recipient info is kept\r\n hideElement($userBlock_personInfo);\r\n }\r\n }\r\n $userBlock_blockTitle_back.on('click', function () {\r\n $userBlock_blockTitle_back.hide();\r\n $searchInput.show(); // Show the search again\r\n $peopleList.show(); // Show the last search results\r\n $peopleList.empty();\r\n shareState.People = [];\r\n $searchInput.find('input').val('');\r\n $modal.find('.err').hide(); // Reset the errors on the modal\r\n $modal.find('.err').empty(); // Reset the errors on the modal\r\n $btnUserAdd.show();\r\n TogglePersonInfoBlock(!EnablePersonInfoBlock, !EnableInfoEditable); // Hide the block\r\n UpdateShareableMethods();\r\n $methodItem_SMS.addClass('color-unavailable');\r\n $methodItem_Email.addClass('color-unavailable');\r\n $methodItem_PDF.addClass('color-unavailable');\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n SendingEmail = false;\r\n SendingSMS = false;\r\n SendingPDFPrint = false;\r\n SendingInPerson = false;\r\n });\r\n $btnUserAdd.on('click', function () {\r\n $btnUserAdd.hide();\r\n $peopleList.hide(); // Hide the last search results\r\n $searchInput.find('input').val('');\r\n $searchInput.hide(); // Hide the search bar\r\n $userBlock_blockTitle_back.show(); // Show the back btn\r\n EnableEmailShare = false;\r\n EnableSMSShare = false;\r\n $userBlock.find('.err').hide();\r\n $userBlock.find('.err').empty();\r\n TogglePersonInfoBlock(EnablePersonInfoBlock, !EnableInfoEditable); // Show the block\r\n });\r\n function SetupAPersonItem(p) {\r\n var emailPart = '';\r\n var mobilePart = '';\r\n if (p.Email) {\r\n emailPart = \"<div><i class=\\\"fa fa-envelope\\\"></i> \" + p.Email + \"</div>\";\r\n }\r\n if (p.Mobile) {\r\n mobilePart = \"<div><i class=\\\"fa fa-phone\\\"></i> \" + p.Mobile + \"</div>\";\r\n }\r\n if (!p.Email) {\r\n p.Email = '';\r\n }\r\n if (!p.Mobile) {\r\n p.Mobile = '';\r\n }\r\n if (!p.GivenNames) {\r\n p.GivenNames = '';\r\n }\r\n if (!p.DoB) {\r\n p.DoB = '';\r\n }\r\n if (!p.Hash) {\r\n p.Hash = '';\r\n }\r\n var element = $(\"<div class=\\\"person-item\\\">\\n <input type=\\\"hidden\\\" name=\\\"fname\\\" value=\\\"\" + p.FirstName + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"gname\\\" value=\\\"\" + p.GivenNames + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"email\\\" value=\\\"\" + p.Email + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"mobile\\\" value=\\\"\" + p.Mobile + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"gender\\\" value=\\\"\" + p.Gender + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"dob\\\" value=\\\"\" + p.DoB + \"\\\"/>\\n <input type=\\\"hidden\\\" name=\\\"hash\\\" value=\\\"\" + p.Hash + \"\\\"/>\\n <a class=\\\"cursor-pointer border-solid-1 border-radius-24 text-decoration-none\\\">\\n <div>\" + p.FirstName + \" \" + p.GivenNames + \"</div>\\n \" + emailPart + \"\\n \" + mobilePart + \"\\n </a>\\n </div>\");\r\n element.find('a').on('click', function () {\r\n $btnUserAdd.hide();\r\n $peopleList.hide(); // Hide the last search results\r\n $userBlock.find('.err').hide(); // Reset the errors\r\n $userBlock.find('.err').empty();\r\n $searchInput.hide(); // Hide the search bar\r\n $searchInput.find('input').val(''); // We clear what they searched\r\n $userBlock_blockTitle_back.show(); // Show the back btn\r\n shareState.SelectedRecipient = {\r\n FirstName: element.find('input[name=\"fname\"]').val(),\r\n GivenNames: element.find('input[name=\"gname\"]').val(),\r\n Email: element.find('input[name=\"email\"]').val(),\r\n Mobile: element.find('input[name=\"mobile\"]').val(),\r\n DoB: element.find('input[name=\"dob\"]').val(),\r\n Gender: element.find('input[name=\"gender\"]').val(),\r\n Hash: element.find('input[name=\"hash\"]').val(),\r\n isNew_FirstName: false,\r\n isNew_GivenNames: false,\r\n isNew_Email: false,\r\n isNew_Mobile: false,\r\n isNew_DoB: false,\r\n isNew_Gender: false,\r\n idx: p.idx\r\n };\r\n TogglePersonInfoBlock(EnablePersonInfoBlock, EnableInfoEditable, shareState.SelectedRecipient);\r\n UpdateShareableMethods();\r\n });\r\n return element;\r\n }\r\n function debounce(func, wait) {\r\n var timeout;\r\n return function () {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n clearTimeout(timeout);\r\n timeout = setTimeout(function () { return func.apply(_this, args); }, wait);\r\n };\r\n }\r\n var DebounceGetInfo = debounce(function () {\r\n var $input = $(this).val();\r\n if (($input === null || $input === void 0 ? void 0 : $input.length) <= 0) {\r\n $peopleList.empty();\r\n $peopleList.hide();\r\n shareState.People = [];\r\n $userBlock.find('.err').empty();\r\n $userBlock.find('.err').hide();\r\n }\r\n if (($input === null || $input === void 0 ? void 0 : $input.length) >= 4) {\r\n if (shareState.ShareFeatureType == ShareFeature.ShareQRCode) {\r\n // remove error message\r\n $('.err.font-sm.alert.alert-danger').remove();\r\n // check input is valid mobile or valid email\r\n var mobileRegex = /^((04\\d{8}|04\\d{2}(\\s)*\\d{3}(\\s)*\\d{3})|(07\\d{8}|07\\d{2}(\\s)*\\d{3}(\\s)*\\d{3}))$/; // 04XXXXXXXX or 07XXXXXXXX\r\n var emailRegex = /^[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*$/;\r\n var isValidMobile = mobileRegex.test($input);\r\n var isValidEmail = emailRegex.test($input);\r\n if (isValidMobile) {\r\n $methodItem_SMS.removeClass('color-unavailable');\r\n $methodItem_SMS.find('path').attr('fill', 'black');\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', '#d14905');\r\n _shareMethod = ShareMethod.SMS;\r\n EnableSMSShare = true;\r\n }\r\n else {\r\n $methodItem_SMS.addClass('color-unavailable');\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_SMS.find('path').attr('fill', 'gray');\r\n SendingSMS = false;\r\n EnableSMSShare = false;\r\n }\r\n if (isValidEmail) {\r\n $methodItem_Email.removeClass('color-unavailable');\r\n $methodItem_Email.find('path').attr('fill', 'black');\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', '#d14905');\r\n _shareMethod = ShareMethod.Email;\r\n EnableEmailShare = true;\r\n }\r\n else {\r\n $methodItem_Email.addClass('color-unavailable');\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_Email.find('path').attr('fill', 'gray');\r\n SendingEmail = false;\r\n EnableEmailShare = false;\r\n }\r\n if (!isValidMobile && !isValidEmail) {\r\n _shareMethod = ShareMethod.None;\r\n }\r\n }\r\n else {\r\n var data = {\r\n ProfileID: 0,\r\n TimeStamp: 0,\r\n Input: $input\r\n };\r\n $.ajax({\r\n url: window.AppSettings.ApiUrl + \"/api/v1/share/getinfo\",\r\n method: 'POST',\r\n data: JSON.stringify(data),\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n success: function (res) {\r\n $peopleList.empty();\r\n if (res.success && res.data.length >= 1) {\r\n //$peopleList.show();\r\n var matches = res.data;\r\n matches.forEach(function (match, i) {\r\n match.idx = i;\r\n shareState.People.push(match);\r\n $peopleList.append(SetupAPersonItem(match));\r\n });\r\n }\r\n else {\r\n $userBlock.find('.err').empty();\r\n //$userBlock.find('.err').show();\r\n $userBlock.find('.err').append('<i>Sorry, we could not find the person!</i>');\r\n }\r\n },\r\n complete: function () { }\r\n });\r\n }\r\n }\r\n }, 250);\r\n $userBlock.find('.search-input').find('input').on('input', DebounceGetInfo);\r\n // End of User Block\r\n // Method Block\r\n function CheckValidMobileString(s, isNew) {\r\n var _a, _b, _c, _d;\r\n // Trim the string first to remove any whitespace at the start or end\r\n s = s.trim();\r\n // Regular expression for the mobile number\r\n var mobileRegex = /^((04\\d{8}|04\\d{2}(\\s)*\\d{3}(\\s)*\\d{3})|(07\\d{8}|07\\d{2}(\\s)*\\d{3}(\\s)*\\d{3}))$/; // 04XXXXXXXX or 07XXXXXXXX\r\n return mobileRegex.test(s)\r\n || (((_b = (_a = shareState.SelectedRecipient) === null || _a === void 0 ? void 0 : _a.Hash) === null || _b === void 0 ? void 0 : _b.length) > 0 && ((!isNew && ((_c = shareState.SelectedRecipient.Mobile) === null || _c === void 0 ? void 0 : _c.length) > 0 && ((_d = $userBlock_personInfo_Mobile.val()) === null || _d === void 0 ? void 0 : _d.length) > 0)\r\n || (mobileRegex.test($userBlock_personInfo_Mobile.val())\r\n && $userBlock_personInfo_Mobile.val() != shareState.SelectedRecipient.Mobile)));\r\n }\r\n //function FormatMobileString(s: string): string | null {\r\n // // Remove all spaces\r\n // s = s.replace(/\\s/g, '');\r\n // // Format the string\r\n // return s.substring(0, 4) + ' ' + s.substring(4, 7) + ' ' + s.substring(7);\r\n //}\r\n function CheckValidEmailString(s, isNew) {\r\n var _a, _b, _c, _d;\r\n // Trim the string first to remove any whitespace at the start or end\r\n s = s.trim();\r\n // Regular expression for the email\r\n var emailRegex = /^[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*$/;\r\n return emailRegex.test(s)\r\n || (((_b = (_a = shareState.SelectedRecipient) === null || _a === void 0 ? void 0 : _a.Hash) === null || _b === void 0 ? void 0 : _b.length) > 0 && ((!isNew && ((_c = shareState.SelectedRecipient.Email) === null || _c === void 0 ? void 0 : _c.length) > 0 && ((_d = $userBlock_personInfo_Email.val()) === null || _d === void 0 ? void 0 : _d.length) > 0)\r\n || (emailRegex.test($userBlock_personInfo_Email.val())\r\n && $userBlock_personInfo_Email.val() != shareState.SelectedRecipient.Email)));\r\n }\r\n $methodItem_SMS.find('[class*=\"fa-floppy-disk\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n $methodItem_SMS.on('click', function () {\r\n if (!$methodItem_SMS.hasClass('color-unavailable') && EnableSMSShare) {\r\n SendingSMS = (!SendingSMS || SendingEmail);\r\n if (SendingSMS) {\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', '#d14905');\r\n SendingEmail = false;\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n SendingPDFPrint = false;\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n SendingInPerson = false;\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n else {\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n }\r\n });\r\n $methodItem_Email.on('click', function () {\r\n if (!$methodItem_Email.hasClass('color-unavailable') && EnableEmailShare) {\r\n SendingEmail = (!SendingEmail || SendingSMS);\r\n if (SendingEmail) {\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', '#d14905');\r\n SendingSMS = false;\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n SendingPDFPrint = false;\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n SendingInPerson = false;\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n else {\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n }\r\n });\r\n $methodItem_PDF.on('click', function () {\r\n if (!$methodItem_PDF.hasClass('color-unavailable') && EnablePDFPrint) {\r\n SendingPDFPrint = !SendingPDFPrint;\r\n if (SendingPDFPrint) {\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', '#d14905');\r\n SendingSMS = false;\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n SendingEmail = false;\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n SendingInPerson = false;\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n else {\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n }\r\n });\r\n $methodItem_InPerson.on('click', function () {\r\n if (!$methodItem_InPerson.hasClass('color-unavailable') && EnableInPersonShare) {\r\n SendingInPerson = !SendingInPerson;\r\n if (SendingInPerson) {\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', '#d14905');\r\n SendingPDFPrint = false;\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'currentColor');\r\n SendingSMS = false;\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'currentColor');\r\n SendingEmail = false;\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n else {\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', 'currentColor');\r\n }\r\n }\r\n });\r\n function UpdateShareableMethods(ignoreSending) {\r\n if (ignoreSending === void 0) { ignoreSending = false; }\r\n // color-orange #d14905\r\n // color-unavailable is a logic class\r\n if (shareState.SelectedRecipient) {\r\n if (!CheckValidMobileString(shareState.SelectedRecipient.Mobile, shareState.SelectedRecipient.isNew_Mobile)) {\r\n $methodItem_SMS.addClass('color-unavailable');\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', 'black');\r\n $methodItem_SMS.find('path').attr('fill', 'gray');\r\n SendingSMS = false;\r\n EnableSMSShare = false;\r\n }\r\n else {\r\n $methodItem_SMS.removeClass('color-unavailable');\r\n $methodItem_SMS.find('path').attr('fill', 'black');\r\n EnableSMSShare = true;\r\n }\r\n if (!CheckValidEmailString(shareState.SelectedRecipient.Email, shareState.SelectedRecipient.isNew_Email)) {\r\n $methodItem_Email.addClass('color-unavailable');\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', 'black');\r\n $methodItem_Email.find('path').attr('fill', 'gray');\r\n SendingEmail = false;\r\n EnableEmailShare = false;\r\n }\r\n else {\r\n $methodItem_Email.removeClass('color-unavailable');\r\n $methodItem_Email.find('path').attr('fill', 'black');\r\n EnableEmailShare = true;\r\n }\r\n if (ignoreSending) {\r\n SendingEmail = false;\r\n SendingSMS = false;\r\n }\r\n //\r\n EnableInPersonShare = true;\r\n $methodItem_InPerson.removeClass('color-unavailable');\r\n $methodItem_InPerson.find('path').attr('fill', 'black');\r\n EnablePDFPrint = true;\r\n $methodItem_PDF.removeClass('color-unavailable');\r\n $methodItem_PDF.find('path').attr('fill', 'black');\r\n //\r\n }\r\n else { // this condition might not be reached\r\n EnableEmailShare = false;\r\n EnableSMSShare = false;\r\n EnableInPersonShare = false;\r\n EnablePDFPrint = false;\r\n $methodItem_InPerson.addClass('color-unavailable');\r\n $methodItem_PDF.addClass('color-unavailable');\r\n $methodItem_InPerson.find('[class*=\"fa-users\"]').find('path').attr('fill', 'black');\r\n $methodItem_InPerson.find('path').attr('fill', 'gray');\r\n $methodItem_PDF.find('[class*=\"fa-print\"]').find('path').attr('fill', 'black');\r\n $methodItem_PDF.find('path').attr('fill', 'gray');\r\n }\r\n if (EnableEmailShare && !EnableSMSShare /*&& !SendingPDFPrint*/) {\r\n $methodItem_Email.find('[class*=\"fa-envelope\"]').find('path').attr('fill', '#d14905');\r\n SendingEmail = true;\r\n }\r\n else if (EnableSMSShare && !EnableEmailShare /*&& !SendingPDFPrint*/) {\r\n $methodItem_SMS.find('[class*=\"fa-comments\"]').find('path').attr('fill', '#d14905');\r\n SendingSMS = true;\r\n }\r\n }\r\n // End of Method Block\r\n // Content/Info Block\r\n $contentNonlisted_Mobile.on('input change', function () {\r\n if (shareState.Content.Nonlisted) {\r\n shareState.Content.Nonlisted.Mobile = $(this).val();\r\n }\r\n });\r\n //$contentNonlisted_Email.on('input change', function () {\r\n // if (shareState.Content.Nonlisted) {\r\n // shareState.Content.Nonlisted.Email = $(this).val();\r\n // }\r\n //});\r\n $contentNonlisted_Website.on('input change', function () {\r\n if (shareState.Content.Nonlisted) {\r\n shareState.Content.Nonlisted.Website = $(this).val();\r\n }\r\n });\r\n $contentTileShare_Tile.on('input change', function () {\r\n if (shareState.Content.TileShare) {\r\n shareState.Content.TileShare.Tile.ID = $(this).val();\r\n shareState.Content.TileShare.Tile.Name = $(this).text();\r\n }\r\n });\r\n //$contentTileShare_Suburb.on('input change', function () {\r\n // if (shareState.Content.TileShare) {\r\n // shareState.Content.TileShare.Suburb = $(this).val();\r\n // }\r\n //});\r\n //$contentTileShare_Street.on('input change', function () {\r\n // if (shareState.Content.TileShare) {\r\n // shareState.Content.TileShare.Street = $(this).val();\r\n // }\r\n //});\r\n //$contentTileShare_Funding_NDIS.on('change', function () {\r\n // if (this.checked && shareState.Content.TileShare) {\r\n // $contentTileShare_Funding_NoFunding.prop('checked', false).change();\r\n // shareState.Content.TileShare.IsFundedByNDIS = true;\r\n // } else {\r\n // shareState.Content.TileShare.IsFundedByNDIS = false;\r\n // }\r\n //});\r\n //$contentTileShare_Funding_MyAgedCare.on('change', function () {\r\n // if (this.checked && shareState.Content.TileShare) {\r\n // $contentTileShare_Funding_NoFunding.prop('checked', false).change();\r\n // shareState.Content.TileShare.IsFundedByMyAgedCare = true;\r\n // } else {\r\n // shareState.Content.TileShare.IsFundedByMyAgedCare = false;\r\n // }\r\n //});\r\n //$contentTileShare_Funding_NoFunding.on('change', function () {\r\n // if (this.checked && shareState.Content.TileShare) {\r\n // shareState.Content.TileShare.IsFundedByEmploymentServices = false;\r\n // shareState.Content.TileShare.IsFundedByMyAgedCare = false;\r\n // shareState.Content.TileShare.IsFundedByNDIS = false;\r\n // $contentTileShare_Funding_NDIS.prop('checked', false).change();\r\n // $contentTileShare_Funding_MyAgedCare.prop('checked', false).change();\r\n // }\r\n //});\r\n //$contentTileShare_Funding_Assistance.on('change', function () {\r\n // let checkedValue = $('input[type=\"radio\"][name=\"assistance\"]:checked').val();\r\n // if (shareState.Content.TileShare) {\r\n // shareState.Content.TileShare.LinkageAssistanceLevel = checkedValue;\r\n // }\r\n //})\r\n //$contentTileShare_Agree.on('change', function () {\r\n // if (this.checked) {\r\n // shareState.Content.TileShare.Agree = true;\r\n // } else {\r\n // shareState.Content.TileShare.Agree = false;\r\n // }\r\n //});\r\n $contentFavoriteShare_ShareAs.on('change', function () {\r\n if (shareState.Content.FavoriteShare) {\r\n shareState.Content.FavoriteShare.ShareAs = $(this).val();\r\n }\r\n });\r\n //\r\n // Submit\r\n function AppendErrorMsg(e, message) {\r\n var div = \"<div class=\\\"err font-sm alert alert-danger\\\"><i>\" + message + \"</i></div>\";\r\n e.append(div);\r\n }\r\n $btnSubmit.on('click', function () {\r\n var _a, _b, _c, _d, _e, _f, _g;\r\n if (shareState.ShareFeatureType == ShareFeature.ShareQRCode) {\r\n // check isvalid email or isvalid mobile\r\n if ((!EnableSMSShare || !EnableEmailShare) && _shareMethod == ShareMethod.None) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Please provide valid email or mobile number\");\r\n return;\r\n }\r\n // prepare request model\r\n var request = {\r\n ShareFeatureType: shareState.ShareFeatureType,\r\n Method: _shareMethod,\r\n Recipient: $searchInput.find('input').val(),\r\n Content: {\r\n Title: shareState.Content.Title,\r\n Message: shareState.Content.Message,\r\n PageUrl: shareState.Content.PageUrl,\r\n CategoryGroup: shareState.Content.CategoryGroup,\r\n Nonlisted: shareState.Content.Nonlisted,\r\n TileShare: shareState.Content.TileShare,\r\n FavoriteShare: shareState.Content.FavoriteShare\r\n }\r\n };\r\n // send request\r\n $.ajax({\r\n url: window.AppSettings.ApiUrl + \"/api/v1/share/shareqrcode\",\r\n method: 'POST',\r\n data: JSON.stringify(request),\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n success: function (res) {\r\n $modal.find('.err').hide(); // Reset the errors on the modal\r\n $modal.find('.err').empty(); // Reset the errors on the modal\r\n $modal.modal('hide');\r\n if (res.messages) {\r\n if (res.messages[0].index == -1) {\r\n $.notify({\r\n title: \"<strong>Fail!</strong>\",\r\n message: res.messages[0].message,\r\n }, {\r\n type: 'danger',\r\n placement: {\r\n from: \"top\",\r\n align: \"right\"\r\n },\r\n });\r\n }\r\n else {\r\n $.notify({\r\n title: \"<strong>Success!</strong>\",\r\n message: res.messages[0].message,\r\n }, {\r\n type: 'success',\r\n placement: {\r\n from: \"top\",\r\n align: \"right\"\r\n },\r\n });\r\n }\r\n }\r\n },\r\n complete: function () { }\r\n });\r\n }\r\n else if (shareState.ShareFeatureType == ShareFeature.ShareSurvey) {\r\n var _hasProtectedLink = $('input[name=\"validationOption\"]:checked').val() === \"True\";\r\n // check isvalid email or isvalid mobile\r\n if ((!EnableSMSShare || !EnableEmailShare) && _shareMethod == ShareMethod.None) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Please provide valid email or mobile number\");\r\n return;\r\n }\r\n if (_hasProtectedLink && $userBlock_personInfo_Dob.val() == \"\") {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Please provide date of birth\");\r\n return;\r\n }\r\n // prepare request model\r\n var sender = {\r\n OutletID: Number($(\"#OutletID\").text()),\r\n ProfileID: Number($(\"#ProfileID\").text())\r\n };\r\n var payload;\r\n var recieverInfo;\r\n if (((_b = (_a = shareState.SelectedRecipient) === null || _a === void 0 ? void 0 : _a.Hash) === null || _b === void 0 ? void 0 : _b.length) > 0) {\r\n recieverInfo = {\r\n Hash: (_c = shareState.SelectedRecipient) === null || _c === void 0 ? void 0 : _c.Hash\r\n };\r\n }\r\n else {\r\n recieverInfo = {\r\n FirstName: $userBlock_personInfo_FirstName.val() || '',\r\n LastName: $userBlock_personInfo_GivenNames.val() || '',\r\n Email: $userBlock_personInfo_Email.val() || '',\r\n Mobile: $userBlock_personInfo_Mobile.val() || '',\r\n DOB: $userBlock_personInfo_Dob.val() || '',\r\n Gender: $userBlock_personInfo_Gender.val() || '',\r\n };\r\n }\r\n var _shareContent = {\r\n Title: $contentTitle.val() || \"\",\r\n Message: $contentMessage.val() || \"\"\r\n };\r\n payload = {\r\n RecieverInfo: recieverInfo,\r\n Content: _shareContent\r\n };\r\n var reciever = {\r\n PersonID: 0,\r\n Payload: JSON.stringify(payload)\r\n };\r\n var _shareType;\r\n if (SendingSMS) {\r\n _shareType = ShareSurveyMethod.SMS;\r\n }\r\n else if (SendingEmail) {\r\n _shareType = ShareSurveyMethod.Email;\r\n }\r\n var request = {\r\n SurveyID: $('#surveyId').val(),\r\n ShareType: _shareType.toString(),\r\n Sender: sender,\r\n Receiver: reciever,\r\n HasProtectedLink: _hasProtectedLink\r\n };\r\n $.ajax({\r\n url: window.AppSettings.DirectoryUrl + \"/manage/Surveys/SendSurvey\",\r\n method: 'POST',\r\n data: JSON.stringify(request),\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n success: function (res) {\r\n $modal.find('.err').hide(); // Reset the errors on the modal\r\n $modal.find('.err').empty(); // Reset the errors on the modal\r\n $modal.modal('hide');\r\n if (res.success) {\r\n $.notify({\r\n title: \"<strong>Success!</strong>\",\r\n message: res.message,\r\n }, {\r\n type: 'success',\r\n placement: {\r\n from: \"top\",\r\n align: \"right\"\r\n },\r\n });\r\n }\r\n else {\r\n $.notify({\r\n title: \"<strong>Fail!</strong>\",\r\n message: res.message,\r\n }, {\r\n type: 'danger',\r\n placement: {\r\n from: \"top\",\r\n align: \"right\"\r\n },\r\n });\r\n }\r\n },\r\n complete: function () { }\r\n });\r\n }\r\n else {\r\n // pre request validation\r\n if (!shareState.SelectedRecipient) { // just to be safe\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Recipient!\");\r\n return;\r\n }\r\n if (!shareState.SelectedRecipient.FirstName) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Recipient First Name!\");\r\n return;\r\n }\r\n //\r\n var request = {\r\n ShareFeatureType: shareState.ShareFeatureType,\r\n Method: ShareMethod.None,\r\n Recipient: {\r\n FirstName: shareState.SelectedRecipient.FirstName,\r\n GivenNames: shareState.SelectedRecipient.GivenNames,\r\n Email: shareState.SelectedRecipient.Email,\r\n Mobile: shareState.SelectedRecipient.Mobile,\r\n Gender: shareState.SelectedRecipient.Gender,\r\n DoB: shareState.SelectedRecipient.DoB,\r\n Hash: shareState.SelectedRecipient.Hash,\r\n },\r\n Content: {\r\n Title: shareState.Content.Title,\r\n Message: shareState.Content.Message,\r\n PageUrl: shareState.Content.PageUrl,\r\n CategoryGroup: shareState.Content.CategoryGroup,\r\n Nonlisted: shareState.Content.Nonlisted,\r\n TileShare: shareState.Content.TileShare,\r\n FavoriteShare: shareState.Content.FavoriteShare\r\n }\r\n };\r\n if (SendingEmail) {\r\n request.Method = ShareMethod.Email;\r\n }\r\n else if (SendingSMS) {\r\n request.Method = ShareMethod.SMS;\r\n }\r\n else if (SendingPDFPrint) {\r\n request.Method = ShareMethod.PDF;\r\n }\r\n else if (SendingInPerson) {\r\n request.Method = ShareMethod.InPerson;\r\n }\r\n else {\r\n request.Method = ShareMethod.None;\r\n }\r\n // request validation\r\n switch (request.Method) {\r\n case ShareMethod.Email:\r\n if (!CheckValidEmailString(request.Recipient.Email)) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Please provide a valid email!\");\r\n return;\r\n }\r\n break;\r\n case ShareMethod.SMS:\r\n if (!CheckValidMobileString(request.Recipient.Mobile)) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Please provide a valid phone number!\");\r\n return;\r\n }\r\n break;\r\n case ShareMethod.PDF:\r\n if (request.ShareFeatureType != ShareFeature.RecordCommunication) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"This share method is not available for the current share option!\");\r\n return;\r\n }\r\n break;\r\n case ShareMethod.InPerson:\r\n if (request.ShareFeatureType != ShareFeature.RecordCommunication) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"This share method is not available for the current share option!\");\r\n return;\r\n }\r\n break;\r\n case ShareMethod.None:\r\n default:\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Share Method. Please select either Email or SMS option!\");\r\n return;\r\n }\r\n switch (request.ShareFeatureType) {\r\n case ShareFeature.ShareATile:\r\n if (!request.Content.TileShare || !((_d = request.Content.TileShare) === null || _d === void 0 ? void 0 : _d.Tile) || ((_f = (_e = request.Content.TileShare) === null || _e === void 0 ? void 0 : _e.Tile) === null || _f === void 0 ? void 0 : _f.ID) <= 0) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Tile Share!\");\r\n return;\r\n }\r\n request.Content.Title = request.Content.TileShare.Tile.Name;\r\n break;\r\n case ShareFeature.ShareFavorites:\r\n if (!request.Content.FavoriteShare || ((_g = request.Content.FavoriteShare) === null || _g === void 0 ? void 0 : _g.FavoriteID) <= 0) {\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Favorite Share!\");\r\n return;\r\n }\r\n request.Content.Title = request.Content.FavoriteShare.FavoriteName;\r\n break;\r\n case ShareFeature.ShareAListing:\r\n case ShareFeature.ShareANote:\r\n case ShareFeature.ShareNonlisted:\r\n case ShareFeature.RecordCommunication:\r\n break;\r\n case ShareFeature.None:\r\n default:\r\n AppendErrorMsg($modal.find('.share-modal-body'), \"Invalid Share Feature Type!\");\r\n return;\r\n }\r\n // Send\r\n $.ajax({\r\n url: window.AppSettings.ApiUrl + \"/api/v1/share/post\",\r\n method: 'POST',\r\n data: JSON.stringify(request),\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n success: function (res) {\r\n $modal.find('.err').hide(); // Reset the errors on the modal\r\n $modal.find('.err').empty(); // Reset the errors on the modal\r\n if (res.success) {\r\n $modal.modal('hide');\r\n }\r\n else {\r\n AppendErrorMsg($modal.find('.share-modal-body'), res.messages[0].message);\r\n }\r\n },\r\n complete: function () { }\r\n });\r\n }\r\n });\r\n return { changeFavoriteShare: UpdateFavoriteShare };\r\n }\r\n Common.SetupShareModal = SetupShareModal;\r\n function SetupTooltipsStyling() {\r\n $(document).on('mouseover', '[title]', function (e) {\r\n if (typeof $(this).qtip === \"function\") {\r\n $(this).qtip({\r\n overwrite: false,\r\n content: $(this).attr('title'),\r\n show: {\r\n event: e.type,\r\n ready: true\r\n },\r\n position: {\r\n my: \"bottom right\",\r\n at: \"top right\"\r\n },\r\n style: {\r\n classes: 'qtip-dark qtip-shadow qtip-rounded'\r\n },\r\n events: {\r\n show: function (event, api) {\r\n var $el = $(api.elements.target[0]);\r\n $el.qtip('option', 'position.my', ($el.data('tooltip-my') === undefined) ? 'bottom right' : $el.data('tooltip-my'));\r\n $el.qtip('option', 'position.at', ($el.data('tooltip-at') === undefined) ? 'top right' : $el.data('tooltip-at'));\r\n }\r\n }\r\n }, e);\r\n $(this).attr('oldtitle', $(this).attr('title'));\r\n $(this).removeAttr('title');\r\n }\r\n });\r\n }\r\n Common.SetupTooltipsStyling = SetupTooltipsStyling;\r\n var loadConverters = true;\r\n function SetupConverters() {\r\n if (loadConverters) {\r\n loadConverters = false;\r\n $.views.converters({\r\n tel: function (value) {\r\n value = value || \"\";\r\n var telValue = value.replace(/[^0-9]/g, \"\");\r\n var accessibleValue = telValue.replace(/([0-9])/g, \"$1 \");\r\n if (telValue.length > 0) {\r\n return \"<p class='icon icon-phone60'><a href='tel:\" + telValue + \"' aria-label='Telephone number: \" + accessibleValue + \"'>\" + value + \"</a></p>\";\r\n }\r\n else if (value.substr(0, 2) === \"--\") {\r\n return \"<p class='icon icon-phone60' aria-label='Telephone number: withheld' tabindex='0'>\" + value + \"</p>\";\r\n }\r\n else {\r\n return \"\";\r\n }\r\n },\r\n map: function (value) {\r\n value = value || \"\";\r\n var inner = \"--not supplied--\";\r\n if (value.length > 0) {\r\n if (value.substr(0, 2) === \"--\") {\r\n inner = value;\r\n }\r\n else {\r\n inner = \"<a href='https://maps.google.com/?q=\" + encodeURIComponent(value) + \"' target='_blank' aria-label='Address: \" + value + \"'>\" + value + \"</a>\";\r\n }\r\n }\r\n return \"<p class='icon icon-map15'>\" + inner + \"</p>\";\r\n },\r\n email: function (value) {\r\n value = value || \"\";\r\n if (value.indexOf(\"@\") >= 0) {\r\n return \"<p class='icon icon-new48'><a href='mailto:\" + value + \"' aria-label='Email: \" + value + \"' >\" + value + \"</a></p>\";\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n });\r\n }\r\n }\r\n Common.SetupConverters = SetupConverters;\r\n function DisableFilter() {\r\n if ($(\".btn-filter.disabled\").length) {\r\n return;\r\n }\r\n $(\"#btn-apply\").attr(\"disabled\", \"disabled\");\r\n $(\".btn-filter\").addClass(\"disabled\");\r\n $(\".btn-all-results, .btn-local-results\").addClass(\"disabled\");\r\n $(\".btn-distance, .btn-alpha\").attr(\"disabled\", \"disabled\");\r\n $(\".btn-distance, .btn-alpha\").on(\"click touchend\", disableRank);\r\n }\r\n Common.DisableFilter = DisableFilter;\r\n function ReenableFilter() {\r\n $(\"#btn-apply\").removeAttr(\"disabled\");\r\n $(\".btn-filter\").removeClass(\"disabled\");\r\n $(\".btn-all-results, .btn-local-results\").removeClass(\"disabled\");\r\n $(\".btn-distance, .btn-alpha\").removeAttr(\"disabled\");\r\n $(\".btn-distance, .btn-alpha\").off(\"click touchend\", disableRank);\r\n }\r\n Common.ReenableFilter = ReenableFilter;\r\n function disableRank(ev) {\r\n ev.preventDefault();\r\n }\r\n // Cookies\r\n function SetCookie(cookieName, cookieValue, expiryDays, expiryHours, expiryMinutes, expirySeconds) {\r\n if (expiryDays === void 0) { expiryDays = 0; }\r\n if (expiryHours === void 0) { expiryHours = 0; }\r\n if (expiryMinutes === void 0) { expiryMinutes = 0; }\r\n if (expirySeconds === void 0) { expirySeconds = 0; }\r\n var d = new Date();\r\n d.setTime(d.getTime() + (expiryDays * 24 * 60 * 60 * 1000) + (expiryHours * 60 * 60 * 1000) + (expiryMinutes * 60 * 1000) + (expirySeconds * 1000));\r\n var expires = \"expires=\" + d.toUTCString() + \";\";\r\n if (expiryDays + expiryHours + expiryMinutes + expirySeconds === 0) {\r\n expires = 'expires=\"\";';\r\n }\r\n document.cookie = cookieName + \"=; expires=Wed, 01 Jan 1970; path=/; secure=true;\";\r\n document.cookie = cookieName + \"=\" + cookieValue + \"; \" + expires + \" path=/; secure=true;\";\r\n }\r\n Common.SetCookie = SetCookie;\r\n function GetCookie(cookieName) {\r\n var name = cookieName + \"=\";\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 Common.GetCookie = GetCookie;\r\n function GetCouncil(id, saveCouncilCallback) {\r\n if (id === void 0) { id = 0; }\r\n if (id === 0 || saveCouncilCallback === null)\r\n return;\r\n $.getJSON(window.AppSettings.ApiUrl + \"/api/v1/system/councils/\" + id, function (data) {\r\n saveCouncilCallback(data);\r\n });\r\n }\r\n Common.GetCouncil = GetCouncil;\r\n function SetLocationCookie(location) {\r\n SetCookie(\"Mcd.Location\", \"Council:\" + JSON.stringify(location.Council) + \"|ID:\" + location.ID + \"|Name:\" + location.Name, 365);\r\n }\r\n function GetLocationCookie(location) {\r\n var cookie = GetCookie(\"Mcd.Location\");\r\n if (cookie !== \"\") {\r\n var parts = cookie.split('|');\r\n for (var i = 0; i < parts.length; i++) {\r\n if (parts[i].substr(0, 8) === \"Council:\") {\r\n location.Council = JSON.parse(parts[i].substr(8));\r\n }\r\n else if (parts[i].substr(0, 3) === \"ID:\") {\r\n location.ID = parseInt(parts[i].substr(3));\r\n }\r\n else if (parts[i].substr(0, 5) === \"Name:\") {\r\n location.Name = parts[i].substr(5);\r\n }\r\n }\r\n }\r\n return location;\r\n }\r\n $(\"#btn-cross\").off(\"click\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n SetCookie(\"Mcd.LocationNag\", \"Declined\");\r\n hidebanner();\r\n });\r\n function RequestLocation(destUrl, locationPrefix, wherePrefix, locationId, locationName) {\r\n if (destUrl === void 0) { destUrl = \"\"; }\r\n if (locationPrefix === void 0) { locationPrefix = \"?id=\"; }\r\n if (wherePrefix === void 0) { wherePrefix = \"&location=\"; }\r\n if (locationId === void 0) { locationId = 0; }\r\n if (locationName === void 0) { locationName = \"\"; }\r\n $(function () {\r\n var location = {};\r\n location.DestinationUrl = destUrl;\r\n location.LocationUrlPrefix = locationPrefix;\r\n location.WhereUrlPrefix = wherePrefix;\r\n location.Council = null;\r\n location.ID = locationId;\r\n location.Name = locationName;\r\n if (location.ID > 0 || location.Name !== \"\") {\r\n // Pass through here when the user clicked on the Search button and has supplied a location\r\n gotoLocation(location);\r\n hidebanner();\r\n return;\r\n }\r\n setPanelContents(PanelContents.None, location);\r\n var offerHelp = GetCookie(\"Mcd.LocationNag\");\r\n if (offerHelp === \"Declined\") {\r\n // Pass through here when the user has said No Thanks\r\n if (location.DestinationUrl !== \"\") {\r\n window.location.href = location.DestinationUrl;\r\n }\r\n hideLocationPanel();\r\n return;\r\n }\r\n location = GetLocationCookie(location);\r\n if (location.Council != null) {\r\n // Show the user where we think they previously searched\r\n setPanelContents(PanelContents.Previous, location);\r\n }\r\n else {\r\n RequestBrowserLocation(location);\r\n }\r\n SetCookie(\"Mcd.LocationNag\", \"Declined\");\r\n if (location && location.DestinationUrl) {\r\n window.location.href = location.DestinationUrl;\r\n }\r\n // When a location is selected from autocomplete, adjust council properties and update cookie\r\n $(\"#location-request\").on(\"typeahead:selected\", function (obj, datum) {\r\n $.getJSON(\"/api/locations/id/\" + datum.LocalityID, function (data) {\r\n if (data) {\r\n location.ID = datum.LocalityID;\r\n location.Name = data.Name + \" \" + data.Postcode;\r\n location.Council = {\r\n CouncilRegionID: data.CouncilRegionID,\r\n DisplayName: data.CouncilDisplayName,\r\n Url: data.CouncilURL\r\n };\r\n SetLocationCookie(location);\r\n }\r\n else {\r\n Common.Alert(\"<p>We were unable to successfully determine the location you wish to search in. Please be more specific with your location or select an item from the list.</p>\", \"\");\r\n }\r\n });\r\n });\r\n });\r\n }\r\n Common.RequestLocation = RequestLocation;\r\n function gotoLocation(location) {\r\n if (location.ID != 0) {\r\n if (location.Name === \"\") {\r\n $.getJSON(\"/api/locations/id/\" + location.ID, function (data) {\r\n if (data) {\r\n location.Name = data.Name + \" \" + data.Postcode;\r\n location.Council = {\r\n CouncilRegionID: data.CouncilRegionID,\r\n DisplayName: data.CouncilDisplayName,\r\n Url: data.CouncilURL\r\n };\r\n checkCouncilandProceed(location);\r\n }\r\n else {\r\n Common.Alert(\"<p>We were unable to successfully determine the location you wish to search in. Please be more specific with your location or select an item from the list.</p>\", \"\");\r\n }\r\n });\r\n }\r\n else {\r\n checkCouncilandProceed(location);\r\n }\r\n }\r\n else {\r\n if (location.Name !== \"\") {\r\n $.ajax({\r\n type: \"GET\",\r\n //url: `/api/locations/${location.Lat}/${location.Lng}`,\r\n url: \"/api/locations/\" + location.Name,\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n success: function (data) {\r\n if (data) {\r\n location.ID = data.LocalityID;\r\n location.Name = data.Name + \" \" + data.Postcode;\r\n location.Council = {\r\n CouncilRegionID: data.CouncilRegionID,\r\n DisplayName: data.CouncilDisplayName,\r\n Url: data.CouncilURL\r\n };\r\n checkCouncilandProceed(location);\r\n }\r\n else {\r\n Common.Alert(\"<p>We were unable to successfully determine the location you wish to search in. Please be more specific with your location or select an item from the list.</p>\", \"\");\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n Common.Alert(\"<p>The directory works best when we have a location to search in. Please specify a location.</p>\", \"\");\r\n }\r\n }\r\n }\r\n function checkCouncilandProceed(location) {\r\n if (!location.Council || location.Council.CouncilRegionID == 0) {\r\n $.getJSON(\"/api/councils/bylocalityid/\" + location.ID, function (data) {\r\n if (data && data.Loaded) {\r\n location.Council = data;\r\n location.DestinationUrl = location.DestinationUrl || data.Url;\r\n SetLocationCookie(location);\r\n window.location.href = location.DestinationUrl + (\"\" + location.LocationUrlPrefix + location.ID + location.WhereUrlPrefix + encodeURIComponent(location.Name));\r\n }\r\n else {\r\n Common.Alert(\"<p>We were unable to successfully determine the location you wish to search in. Please be more specific with your location or select an item from the list.</p>\", \"\");\r\n }\r\n });\r\n return;\r\n }\r\n var destUrl = \"\";\r\n if (location.DestinationUrl) {\r\n destUrl = location.DestinationUrl;\r\n }\r\n else {\r\n destUrl = location.Council.Url + (\"\" + location.LocationUrlPrefix + location.ID + location.WhereUrlPrefix + encodeURIComponent(location.Name));\r\n }\r\n location.DestinationUrl = location.DestinationUrl || location.Council.Url;\r\n SetLocationCookie(location);\r\n window.location.href = destUrl;\r\n }\r\n function hideLocationPanel() {\r\n $(\"#location-request-panel\").slideUp('slow');\r\n $(\"#location-request-blind\").hide();\r\n }\r\n function hidebanner() {\r\n $(\"#virus-banner\").slideUp('slow');\r\n $(\"#virus-banner\").hide();\r\n }\r\n function RequestBrowserLocation(location) {\r\n if (window.navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(function (position) {\r\n findCouncilandLocation(position, location);\r\n }, function (error) {\r\n console.log(\"Geolocation Error: \", error);\r\n }, { enableHighAccuracy: true });\r\n }\r\n }\r\n Common.RequestBrowserLocation = RequestBrowserLocation;\r\n function setPanelContents(content, location) {\r\n $(\".locality-id\").val(location.ID);\r\n $(\"#location-request\").typeahead('val', location.Name);\r\n switch (content) {\r\n case PanelContents.None:\r\n $(\"#location-request-panel .inner .blurb\").html(\"<p>Want better results? <br /><strong>Tell us your location to refine your search</strong> <br />to help us find listings near you?</p>\");\r\n break;\r\n case PanelContents.Previous:\r\n $(\"#location-request-panel .inner .blurb\").html(\"<p>Previously you searched near <span>\" + location.Name + \"</span><br /><strong>Would you like to refine your search</strong><br />to listings in <span>\" + location.Council.DisplayName + \"</span>?</p>\");\r\n break;\r\n case PanelContents.Located:\r\n $(\"#location-request-panel .inner .blurb\").html(\"<p>It looks like you're near <span>\" + location.Name + \"</span><br /><strong>Would you like to refine your search</strong><br />to listings in <span>\" + location.Council.DisplayName + \"</span>?</p>\");\r\n break;\r\n }\r\n $(\"#btn-go-location\").off(\"click\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n location.ID = parseInt($(\"#hfLocationRequestId\").val());\r\n location.Name = $(\"#location-request\").val();\r\n if (location.Name === '') {\r\n Common.Alert(\"<p>The directory works best when we have a location to search in. Please specify a location.</p>\", \"\");\r\n return;\r\n }\r\n //else if (location.ID > 0) {\r\n // console.log(location.Name);\r\n // console.log(location.ID);\r\n // debugger;\r\n // $.getJSON(`/api/Locations/id/${location.ID}`,\r\n // function (data) {\r\n // location.DestinationUrl = `${data.CouncilURL}/${data.LocationUrl}`;\r\n // gotoLocation(location);\r\n // });\r\n // debugger;\r\n //}\r\n else {\r\n gotoLocation(location);\r\n }\r\n });\r\n }\r\n function findCouncilandLocation(position, location) {\r\n $.getJSON(\"/api/Councils/\" + position.coords.latitude + \"/\" + position.coords.longitude, function (data) {\r\n if (data.Loaded) {\r\n location.Council = data;\r\n findLocation(position, location);\r\n }\r\n });\r\n }\r\n function findLocation(position, location) {\r\n $.getJSON(\"/api/Locations/\" + position.coords.latitude + \"/\" + position.coords.longitude, function (data) {\r\n if ((data.LocalityID || 0) > 0 || (data.Name || '') !== '') {\r\n location.ID = data.LocalityID;\r\n location.Name = data.Name + \" \" + data.Postcode;\r\n setPanelContents(PanelContents.Located, location);\r\n }\r\n });\r\n }\r\n function Alert(text, title, okCallback, okLabel) {\r\n if (okCallback === void 0) { okCallback = null; }\r\n if (okLabel === void 0) { okLabel = \"OK\"; }\r\n title = title || \"Alert\";\r\n var id = 'autoAlertModal';\r\n $(\"body\").remove(\"#\" + id);\r\n var modal = $('\\\r\n<div id=' + id + ' class=\"modal fade\" tabindex=\"-1\" role=\"dialog\"> \\\r\n <div class=\"modal-dialog\" role=\"document\"> \\\r\n <div class=\"modal-content\"> \\\r\n <form method=\"post\" action=\"\"> \\\r\n <div class=\"modal-header\"> \\\r\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button> \\\r\n <h4 class=\"modal-title\">' + title + '</h4> \\\r\n </div> \\\r\n <div class=\"modal-body\">' + text + '</div> \\\r\n <div class=\"modal-footer\"> \\\r\n <button type=\"button\" class=\"btn btn-default modal-ok\" data-dismiss=\"modal\">' + okLabel + '</button> \\\r\n </div> \\\r\n </form> \\\r\n </div> \\\r\n </div> \\\r\n</div>');\r\n var hadAction = false;\r\n modal.on(\"click\", \".modal-ok\", function (e) {\r\n e.preventDefault();\r\n hadAction = true;\r\n if (okCallback)\r\n okCallback();\r\n });\r\n modal.on('hidden.bs.modal', function () {\r\n modal.remove();\r\n if (!hadAction) {\r\n hadAction = true;\r\n if (okCallback)\r\n okCallback();\r\n }\r\n });\r\n modal.modal('show');\r\n }\r\n Common.Alert = Alert;\r\n function FormatAsAusPhone(field, state) {\r\n var value = $.trim($(field).val());\r\n if ((value || \"\").length > 0) {\r\n var re = new RegExp(/^04\\d{2}\\s\\d{3}\\s\\d{3}$|^\\(\\d{2}\\)\\s\\d{4}\\s\\d{4}$|^13(\\s\\d{2}){2,3}$|^(1300|1800)\\s\\d{3}\\s\\d{3}$/);\r\n if (!value.match(re)) {\r\n var newValue;\r\n var trimValue = value.replace(/[^0-9]/g, '');\r\n var mobileRe = new RegExp(/^04\\d{8}$/);\r\n if (trimValue.match(mobileRe)) {\r\n newValue = trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 3) + \" \" + trimValue.substr(7, 3);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n var short13Re = new RegExp(/^13\\d{4}$/);\r\n if (trimValue.match(short13Re)) {\r\n newValue = trimValue.substr(0, 2) + \" \" + trimValue.substr(2, 2) + \" \" + trimValue.substr(4, 2);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n var long13Re = new RegExp(/^13\\d{6}$/);\r\n if (trimValue.match(long13Re)) {\r\n newValue = trimValue.substr(0, 2) + \" \" + trimValue.substr(2, 2) + \" \" + trimValue.substr(4, 2) + \" \" + trimValue.substr(6, 2);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n var long13Or1800Re = new RegExp(/^(1300|1800)\\d{6}$/);\r\n if (trimValue.match(long13Or1800Re)) {\r\n newValue = trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 3) + \" \" + trimValue.substr(7, 3);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n var simpleNational = new RegExp(/^0[2378]\\d{8}$/);\r\n if (trimValue.match(simpleNational)) {\r\n newValue = \"(\" + trimValue.substr(0, 2) + \") \" + trimValue.substr(2, 4) + \" \" + trimValue.substr(6, 4);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n var local = new RegExp(/^\\d{8}$/);\r\n if (trimValue.match(local) && state) {\r\n if (state === \"QLD\") {\r\n newValue = \"(07) \" + trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 4);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n else if (state === \"NSW\" || state === \"ACT\") {\r\n newValue = \"(02) \" + trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 4);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n else if (state === \"VIC\" || state === \"TAS\") {\r\n newValue = \"(03) \" + trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 4);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n else if (state === \"WA\" || state === \"SA\" || state === \"NT\") {\r\n newValue = \"(08) \" + trimValue.substr(0, 4) + \" \" + trimValue.substr(4, 4);\r\n $(field).val(newValue);\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n Common.FormatAsAusPhone = FormatAsAusPhone;\r\n})(Common || (Common = {}));\r\n"]}