{"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\">&times;</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"]}